在asp.net中解析查询字符串,其中多个值由冒号分隔

时间:2015-02-05 15:12:46

标签: c# asp.net

我有一个奇怪的查询字符串形式,我需要解析。格式为 - key = N:1042,B:10,C:200。我以前没遇到这种格式,有没有简单的方法在asp.net中提取“N”,“B”和“C”的值?

谢谢!

3 个答案:

答案 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] });
}

输出

enter image description here