我有一个奇怪的查询字符串形式,我需要解析。格式为 - key = N:1042,B:10,C:200。我以前没遇到这种格式,有没有简单的方法在asp.net中提取“N”,“B”和“C”的值?
谢谢!
答案 0 :(得分:0)
使用拆分方法:
string key = "N:1042,B:10,C:200";
string[] values = key.Split(',');
for (int i = 0; i < values.Length; i++)
{
var nbc = values[i].Split(':')[1];
//Do something with your var..
}
此处有更多信息:Split method MSDN
答案 1 :(得分:0)
非常简单:
var val = Request.QueryString.Get("key");
var terms = val.Split(',');
foreach (var term in terms)
{
var pair = term.Split(':');
var key = pair[0];
var v = pair[1];
}
答案 2 :(得分:0)
只是一个建议,您也可以使用LINQ来获取解析/拆分值。喜欢以下。
var val = Request.QueryString.Get("key"); //"N:1042,B:10,C:200"
if (val.IndexOf(",") != -1)
{
var parsedValue = (from m in val.Split(',')
where m.Split(':').Count() == 2
select new { key = m.Split(':')[0], value = m.Split(':')[1] });
}
输出