string s="a=12,b=34,c=56,xxxx=7788";
string[] d=s.Split(',');
得;
d[0]="a=12";
d[1]="b=34";
...
 

解决方案 »

  1.   

    不是,我想得到12,34,56,7788,而且中间也不一定是逗号分割,比如:Version:3.4 Length:6754 NodeName:ABC
      

  2.   

    string s="Version:3.4 Length:6754 NodeName:ABC";
    string[] d=s.Split(' ');
    for(int i=0;i<d.Length;i++)
    {
       int start=d[i].IndexOf(":")+1;
       你要的值=d[i].Substring(start,d[i].Length-start);

    }
      

  3.   

    使用正则表达式Regex.Matchs(),
    在输入字符串中搜索正则表达式的所有匹配项并返回所有成功的匹配
    例如:
    MatchCollection mc = Regex.Matchs("", @"=(\d+),?");
    foreach (Match m in mc)
    {
    //自己处理吧
    }
      

  4.   

    String.Format("The identity of {0} has been accessed {1} times.", 
                                  _principal.Identity.Name, 
                                  _nAccesses);
      

  5.   

    用正则表达式, 详见命名空间 System.Text.RegularExpressions
    匹配条件为 \d+
    就搞定了.
      

  6.   

    这有个方法,原来作用是取得url中变量的值的,因为这时QueryString用不了,例如:
    string url = "?Cate=Design&ResultID=1&ProjectID=GCRJ0295&Test=100&LoginID=Administrator&SubSystem=Requirement&";
    string param = "Cate";
    string value=GetValue(url,param);
    这时value等于Disign。
    不过这个方法你如果要用可能有麻烦,因为如果前面的变量值等于后面变量名时会有问题,你可以把逗号作为变量名的第一个字符,作为标记,还有把下面方法里的'&'改为',' ,方法可能有问题,用的时候小心!public string GetValue(string url, string param)
    {
    string value = "";
    Char[] paras = para.ToCharArray();
                
    int paraLength = paras.Length;
    Char[] urls = url.ToCharArray();
    urls[0]='&';
    int urlLength = urls.Length;
    bool Same = true;
    for (int i = 0; i < urlLength; i++)
    {
    if (i-1>=0&&urls[i] == paras[0]&&urls [i-1]=='&')
    {
    for (int j = 1; j < paraLength; j++)
    {
    if (urls[i + j] != paras[j])
    {
    Same = false;
    break;
    } }
    if (Same)
    {
    int k = 1;
    while (urls[i + paraLength + k] != '&')
    {
    value += urls[i + paraLength + k].ToString();
    k++;
    }
    break; }
    Same = true;
    }
    }
    return value; }