字符串处理问题,如下:
字符串:
a=1&b=2&c=3&d=4&e=5&f=6&name=james&age=17&address=&code=-&retn=null&info=null&repage=%2Frz%2Frzsubmit.jsp如上字符串,我要分割出来,并要取出a、b、c、d、e、f、name、age、address、code、retn、info、repage的值
赋给string a,b,c,d,e,f,name,age,address,code,retn,info,repage;这几个变量!
有什么好方法吗
求帮助!!
字符串:
a=1&b=2&c=3&d=4&e=5&f=6&name=james&age=17&address=&code=-&retn=null&info=null&repage=%2Frz%2Frzsubmit.jsp如上字符串,我要分割出来,并要取出a、b、c、d、e、f、name、age、address、code、retn、info、repage的值
赋给string a,b,c,d,e,f,name,age,address,code,retn,info,repage;这几个变量!
有什么好方法吗
求帮助!!
string str = @"a=1&b=2&c=3&d=4&e=5&f=6&name=james&age=17&address=&code=-&retn=null&info=null&repage=%2Frz%2Frzsubmit.jsp";
string[] xstr=str.Split('&');
var dict = (from x in source.Split('&') select new { k = x.Split('=')[0], v = x.Split('=')[1] }).ToDictionary(x => x.k, x => HttpUtility.UrlDecode(x.v));
string a = dict["a"], b = dict["b"], c = dict["c"], ...
string str = "a=1&b=2&c=3&d=4&e=5&f=6&name=james&age=17&address=&code=-&retn=null&info=null&repage=%2Frz%2Frzsubmit.jsp";
str = str.Replace("Frzsubmit.jsp", "");
string[] val = str.Split('&');
string[] xstr = str.Split(new char[]{'&','='});
string a,b,c,d,e,f,name,age,address,code,retn,info,repage;
a=str[1];//取下标是奇数的赋值,那才是你需要的值
b=str[3];
......
你这个应该是get传递吧,你可以在传递的时候保存这些键,再过来用就是的了。如果不保存传递的话,在这边分割会很难,因为基本上没有什么规律。
x => HttpUtility.UrlDecode(x.v)
这里他说:错误 1 无法将 lambda 表达式 转换为类型“System.Collections.Generic.IEqualityComparer<string>”,因为它不是委托类型
string str = "a=1&b=2&c=3&d=4&e=5&f=6&name=james&age=17&address=&code=-&retn=null&info=null&repage=%2Frz%2Frzsubmit.jsp";
str = str.Replace("Frzsubmit.jsp", "");
string [] val = str.Split('&');
string a = val[0].Split('=')[1];
var dict = (from x in source.Split('&') select new { k = x.Split('=')[0], v = HttpUtility.UrlDecode(x.Split('=')[1]) }).ToDictionary(x => x.k, x => x.v);
string a = dict["a"], b = dict["b"], c = dict["c"], ...