using System.Collections.Generic;
public static void Main()
Console.WriteLine(DeserializePbxString("Status: ANSWERED - Duracao: 61<br>").TryGetValue("Status", out var keyValue));
private static IDictionary<string, string> DeserializePbxString(string pbxString)
var props = pbxString.Split(new string[] {"-", "<br>"}, StringSplitOptions.RemoveEmptyEntries);
IDictionary<string, string> result = new Dictionary<string, string>();
foreach (string prop in props)
var item = GetPbxPropValue(prop);
if (!result.ContainsKey(item.Key))
private static KeyValuePair<string, string> GetPbxPropValue(string prop)
var result = prop.Split(new[] {":"}, StringSplitOptions.RemoveEmptyEntries);
KeyValuePair<string, string> item;
item = result.Length == 2
? new KeyValuePair<string, string>(result[0].Trim(), result[1].Trim())
: new KeyValuePair<string, string>();