static void Main(string[] args) { string test = "cmd=mo&phone=138001380&charset=utf8&data=a0%23123&ser=ecom%2Fina&msgid=928992"; MatchCollection mc = Regex.Matches(test, "([^=?&]+)=([^&=]*)"); Dictionary<string, string> parameters = new Dictionary<string, string>(); foreach (Match m in mc) { parameters.Add(m.Groups[1].Value, m.Groups[2].Value); } Console.WriteLine("cmd = " + parameters["cmd"]); //... Console.ReadKey(); }
string s = "cmd=mo&phone=138001380&charset=utf8&data=a0%23123&ser=ecom%2Fina&msgid=928992"; string[] st = new string[6]; st = s.Split('&'); string[] ss = new string[6]; for(int i= 0;i<6;i++) { ss[i] = st[i].Substring(st[i].IndexOf('=')+1,st[i].Length-st[i].IndexOf('=')-1); }我都写出来了 加点分
string[] parms = str.split('&');
forech(string str in parms)
{
string[] s = s.split('=');
lst.Add(s[1]);
}lst.....
2.string str="cmd=mo&phone=138001380&charset=utf8&data=a0%23123&ser=ecom%2Fina&msgid=928992";str.split('&').split('=')循环以上的到的数组
static void Main(string[] args)
{
string test = "cmd=mo&phone=138001380&charset=utf8&data=a0%23123&ser=ecom%2Fina&msgid=928992";
MatchCollection mc = Regex.Matches(test, "([^=?&]+)=([^&=]*)");
Dictionary<string, string> parameters = new Dictionary<string, string>();
foreach (Match m in mc)
{
parameters.Add(m.Groups[1].Value, m.Groups[2].Value);
}
Console.WriteLine("cmd = " + parameters["cmd"]);
//...
Console.ReadKey();
}
string[] st = new string[6];
st = s.Split('&');
string[] ss = new string[6];
for(int i= 0;i<6;i++)
{
ss[i] = st[i].Substring(st[i].IndexOf('=')+1,st[i].Length-st[i].IndexOf('=')-1);
}我都写出来了
加点分
ss[1] = 138001380
以此类推
Regex.Replace(str, @"(\w+)=([\w%]+)", new MatchEvaluator(m => { Console.WriteLine("{0}:{1}", m.Groups[1].Value, m.Groups[2].Value); return ""; }));
{
string name;
string val;
}
List<mylst> lst = new List<mylst>();
string[] parms = str.split('&');
forech(string str in parms)
{
string[] s = s.split('=');
mylst o= new mylst();
o.name=s[0];
o.val=s[1];
lst.Add(o);
}取值时只要检索mylst中name为你需要的参数名对应的val即可。
同意
只是有一点要注意,我看里面有%2F这样编码字符,如果希望得到解码后的数据,还需要自己解码:UrlDecode(str)
{
string str = "cmd=mo&phone=138001380&charset=utf8&data=a0%23123&ser=ecom%2Fina&msgid=928992";
string[] array = str.Split('&');
Hashtable ht = new Hashtable();
foreach (string s in array)
{
string[] a = s.Split('=');
ht.Add(a[0],a[1]);
}
foreach (string s in ht.Keys)
{
Console.WriteLine(s+"="+ht[s].ToString());
}
Console.Read();
}
{
string str = "cmd=mo&phone=138001380&charset=utf8&data=a0%23123&ser=ecom%2Fina&msgid=928992";
string[] array = str.Split('&');
Hashtable ht = new Hashtable();
foreach (string s in array)
{
string[] a = s.Split('=');
ht.Add(a[0],a[1]);
}
foreach (string s in ht.Keys)
{
Console.WriteLine(s+"="+ht[s].ToString());
}
Console.Read();
}
string[] parms = str.split('&'); 通过“&” 截取,然后获得一个字符串数组,然后取你想要的值
Request.QueryString[]
很明显可以看出这个字符串是以&来分割的,取出它们然后,就可以拿到对应的值
String.Splip('&')