注意:关于Request.QueryString["parameter"]
的问题不。
我将获得一个看起来像查询字符串的字符串,即遵循以下模式:
String s = "alpha=&beta=something&gamma=nothing";
我会使用正则表达式,但也许其他人可以建议一种更简洁的方法来分割并选择所包含键的值。建议?
最终,我需要将它们映射到IEnum<KeyValuePair>
。
答案 0 :(得分:4)
尝试使用HttpUtility.ParseQueryString
。
来自msdn:
// Parse the query string variables into a NameValueCollection.
NameValueCollection qscoll = HttpUtility.ParseQueryString(querystring);
答案 1 :(得分:1)
试试这个:
Dictionary<string,string> d = s.Split('&').Select(x => x.Split('='))
.ToDictionary(x => x[0], x => x[1]);
答案 2 :(得分:1)
var pairs = s.Split("&");
var keyvaluepairs = pairs.
Select(i =>
{
var data = i.Split("=");
return new KeyValuePair(data[0], data[1]);
});
答案 3 :(得分:1)
您可以致电HttpUtility.ParseQueryString
var nvc = HttpUtility.ParseQueryString(s);