【问题标题】:Parsing string and assigning specific values to variables解析字符串并将特定值分配给变量
【发布时间】:2011-12-14 06:50:13
【问题描述】:

API 返回字符串如下:"error=OK\neta=2 - 3 Days\nprice=24.18"

除了使用带有start/stop 索引的子字符串和/或通过分隔符将所有内容拆分为单词数组之外,我是否可以直接在"nprice=" 之后和从"neta=" 到(在“\”之前)”中选择值?

【问题讨论】:

  • 使用正则表达式。这将简化。
  • 在分隔符上拆分非常直接......为什么还不够好?

标签: c# .net string


【解决方案1】:

您可以使用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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-09
    • 2016-06-20
    • 2015-04-11
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多