C# 解析字符串并为变量指定特定值
API返回如下字符串: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
“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上拆分非常简单…为什么这还不够好?