有字符串,其中用“,”分割!
string i=“xx,xxx,x,xxx,xxxxxx,xxxxx,xxxxxx,xxxxx,xxxxxxxxx,”
请问如果用C#取得第5个逗号之前的字符?
即“xx,xxx,x,xxx,xxxxxx,”
谢谢!

解决方案 »

  1.   

    foreach(string str in i.Split(','))
    {
       //str...
    }
      

  2.   

    string arr=i.split(',');
    string ss="";
    int n=5;
    if(ss.Lenght<5)
    n=ss.Length;
    for(j=0;j<=n;j++)
    {
      ss+=arr[j]+",";
    }
      

  3.   

    这个,,,,没有开发环境不会打那个代码string里有些方法能实现的就是查找子串,找子串有几种找方,有个方法是找第几个的子串反回它的位置(在主串中的)
    再用string的另一个方法就是按位置取子串了
      

  4.   


    string str = "xx,xxx,x,xxx,xxxxxx,xxxxx,xxxxxx,xxxxx,xxxxxxxxx,";
    string[] arr = str.Split(",", 6);
    /*
    返回
    arr[0] xx
    arr[1] xxx
    arr[2] x
    arr[3] xxx
    arr[4] xxxxxx
    arr[5] xxxxx,xxxxxx,xxxxx,xxxxxxxxx,
    */
      

  5.   

     string i = "xx,xxx,x,xxx,xxxxxx,xxxxx,xxxxxx,xxxxx,xxxxxxxxx";
            string[] str = i.Split(',');
            string newstr = "";
            if (str.Length >= 5)
            {
                for (int j = 0; j < 5; j++)
                {
                    newstr = newstr + str[j].ToString()+",";
                }
            }
            Response.Write(newstr);
      

  6.   

    string str = "a,b,c,d,e,f,g,h,i,g,k,j";
            string[] str1 = str.Split(',');
            string strTemp = "";
            for (int i = 0; i < 5; i++)
            {
                strTemp += str1[i] + ",";
            }
            Label1.Text = strTemp;
      

  7.   

    string str="xx,xxx,x,xxx,xxxxxx,xxxxx,xxxxxx,xxxxx,xxxxxxxxx,"
    char[] chr=str;
    string result="";
    for(int i=0;i<str.length;i++)
    {
    result=result+chr[i]; 
    if(chr[i]==',')
       {
       i++;
       }
      if(i==5)
        return result;
       
    }
      

  8.   

    先取所有“,”的index
    然后截取从开始到 第五个“,”index的字符。
      

  9.   

    string[] arr = str.Split(",", 6);
      

  10.   

    谢谢大家!大家的答案都是正确!我在想是不是用substring,然后找到第5个“,”位置,得出结果的方法
      

  11.   

    changke18
    正则 
    ".*?,{5}"
    太牛了