字符串处理问题,如下:
字符串:
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;这几个变量!
有什么好方法吗
求帮助!!

解决方案 »

  1.   

    你按&分隔啊
     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('&');
      

  2.   

    string source = "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";
    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"], ...
      

  3.   


     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('&');
      

  4.   

    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(new char[]{'&','='});
    string a,b,c,d,e,f,name,age,address,code,retn,info,repage;
    a=str[1];//取下标是奇数的赋值,那才是你需要的值
    b=str[3];
    ......
      

  5.   

    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
    你这个应该是get传递吧,你可以在传递的时候保存这些键,再过来用就是的了。如果不保存传递的话,在这边分割会很难,因为基本上没有什么规律。
      

  6.   


    x => HttpUtility.UrlDecode(x.v)
    这里他说:错误 1 无法将 lambda 表达式 转换为类型“System.Collections.Generic.IEqualityComparer<string>”,因为它不是委托类型
      

  7.   


     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];
      

  8.   

    这样:string source = "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";
    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"], ...
      

  9.   

    因为分割后你要的值的下标是奇数啊,你可以调试一下看一下xstr数组的值啊
      

  10.   

    循环+substring  ?貌似可以,但是太慢
      

  11.   

    Chinajiyong的方法也是很好的,不过,如果在中间插入一个新的参数……就悲剧了。
      

  12.   

    string字符串处理效率太低了!所以只能求帮助!!谢谢各位!