C# 解析字符串并为变量指定特定值

C# 解析字符串并为变量指定特定值,c#,.net,string,C#,.net,String,API返回如下字符串:“error=OK\neta=2-3天\nprice=24.18” 除了使用带有启动/停止的子字符串和/或通过分隔符字符将所有内容拆分成一个单词数组之外,我可以直接从“nprice=“和”neta=“到(在“\”)中选择值吗?您可以使用yourString.Split(新[]{@“\n},StringSplitOptions.None)获取子字符串列表 然而,我倾向于将其转化为字典: var yourString = @"error=OK\neta=2 - 3 Days\n

API返回如下字符串:
“error=OK\neta=2-3天\nprice=24.18”


除了使用带有启动/停止的子字符串和/或通过分隔符字符将所有内容拆分成一个单词数组之外,我可以直接从
“nprice=“
”neta=“
到(在“\”)中选择值吗?

您可以使用
yourString.Split(新[]{@“\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);

使用正则表达式。这将简化。在delimns上拆分非常简单…为什么这还不够好?