Разбор строки и присвоение определенных значений переменным - PullRequest
1 голос
/ 14 декабря 2011

API возвращает строку следующим образом: "error=OK\neta=2 - 3 Days\nprice=24.18"

Помимо использования подстроки с индексом start/stop и / или разбиения всего по символам разделителя и в массив слов, я могу просто выбрать значение после "nprice="от "neta=" до (до "\") "сразу?

1 Ответ

3 голосов
/ 14 декабря 2011

Вы можете использовать yourString.Split(new[] { @"\n" }, StringSplitOptions.None), чтобы получить список подстрок.

Однако, я бы предпочел превратить это в словарь:

var yourString = @"error=OK\neta=2 - 3 Days\nprice=24.18";
var lookup = (from sub in yourString.Split(new[] { @"\n" }, StringSplitOptions.None)
              let parts = sub.Split(new[] { '=' }, 2)
              select parts).ToDictionary(p => p[0], p => p[1]);

Вы бы тогда использовали это так:

 var error = lookup["error"];
 var eta = lookup["eta"];
 var price = Convert.ToDecimal(lookup["price"]);

 Console.WriteLine("Error Code: {0},  ETA: {1},  Price: {2:C}", error, eta, price);
...