什么';这是处理类似查询字符串的字符串的最简单方法

本文关键字:字符串 查询 方法 最简单 处理 什么 | 更新日期: 2023-09-27 18:28:56

注意:这不是关于Request.QueryString["parameter"]的问题。

我将得到一个看起来像查询字符串的字符串,即遵循以下模式:

String s = "alpha=&beta=something&gamma=nothing";

我会选择regex,但也许其他人可以建议一种更整洁的方法来拆分和挑选所包含键的值。建议?

最终,我需要将它们映射到IEnum<KeyValuePair>

什么';这是处理类似查询字符串的字符串的最简单方法

尝试使用HttpUtility.ParseQueryString。来自msdn:

// Parse the query string variables into a NameValueCollection.
NameValueCollection qscoll = HttpUtility.ParseQueryString(querystring);

http://msdn.microsoft.com/en-us/library/ms150046.aspx

var pairs = s.Split("&");
var keyvaluepairs = pairs.
                    Select(i => 
                    { 
                        var data = i.Split("="); 
                        return new KeyValuePair(data[0], data[1]); 
                    });

您可以调用HttpUtility.ParseQueryString

var nvc = HttpUtility.ParseQueryString(s);

试试这个:

Dictionary&lt;string,string&gt; d = s.Split('&').Select(x => x.Split('='))
     .ToDictionary(x => x[0], x => x[1]);