如下:
string str = "1,2,3,4,5";
现在我要取第三个“,”的前面的所有前字符,也就是“1,2,3”
但是这个str中的数字是有可能变动的,如变成了str="10,12,14,15",大家看看,比比字符串操作技术
参与有分,写得好的加50!!!!

解决方案 »

  1.   

    好久不上CSDN了,今天要见个漂亮MM,高兴,送分给各位兄弟姐妹了,哈哈
      

  2.   

    笨方法
    string[] list=str.split(',');
    string strtemp="";
    strtemp=list[1]+","+list[2]+","+list[3];
      

  3.   

    char [] delimiter = ",".ToCharArray();
    char c=delimiter[0];
    string [] temp=str.Split(c);
    string result=temp[0]+","+temp[1]+","+temp[2];
      

  4.   

    char [] delimiter = ",".ToCharArray();
    char c=delimiter[0];
    string [] temp=str.Split(c);
    string result=temp[0]+","+temp[1]+","+temp[2];
    就是这个
      

  5.   

    string[] strtemp=str.split(',');
    string strresult="";
    strresult=strtemp[0]+","+strtemp[1]+","+strtemp[2];
      

  6.   

    String[] val = {"apple", "orange", "grape", "pear"};    String sep   = ", ";
        String result;   result = String.Join(sep, val, 1, 3);
      

  7.   

    string[] strtemp=str.split(',');
    string strresult="";
    strresult=strtemp[0]+","+strtemp[1]+","+strtemp[2];
      

  8.   

    string t="11,12,13,14,15";
    int i=4;
    string [] tt=t.Split(new char[]{','},i);
    string result=tt[0]+","+tt[1]+","+tt[2];
    System.Windows.Forms.MessageBox.Show(result);
      

  9.   

    string text = "12,3,43,322,32";
    string reg = @"(\d+),(\d+),(\d+)";
    Regex r = new Regex(reg, RegexOptions.IgnoreCase);
    Match m = r.Match(text);
    if(m.Success)
    {
    string result = m.Groups[0].ToString();
    }
      

  10.   

    function getstr(byval oldstr as string) as string
      dim str as string
      dim i as integer
      dim nFlag as boolen
      dim m as integer
      m=0
      nFlag=true
      for i=0 to oldstr.length-1
        if m<4 then
          str=str & oldstr.char(i)
          m=m+1
        else
          exitfor
        endif
      endfor
      renturn str
    end function
      

  11.   

    split与正则表达式的都不错了, 另一个:string text = "12,3,43,322,32";
    int index = text.IndexOf(",", text.IndexOf(",", text.IndexOf(",")+1)+1);
    string str = text.Substring(0, index);===== str
      

  12.   

    Response.Write(sq.Substring(0, sq.IndexOf(",")))
      

  13.   

    Response.Write(sq.Substring(sq.IndexOf(",") + 1, sq.IndexOf(",", sq.IndexOf(","))))
      

  14.   

    Response.Write(sq.Substring(0, sq.IndexOf(",")))
            Response.Write(sq.Substring(sq.IndexOf(",") + 1, sq.IndexOf(",", sq.IndexOf(","))))
            Response.Write(sq.Substring(sq.IndexOf(",") + 2 + sq.IndexOf(",", sq.IndexOf(",")), sq.IndexOf(",", sq.IndexOf(","))))
      

  15.   

    string res="";
    string r=source;
    int i=0;
    int k=-1;
    while(r!="" && i<3)
    {
       k = r.IndexOf(",",k+1);
       if(k>=0)
       {
          i++;
          r=(k<r.Length-1)?r.Substring(k+1):"";
       }
       else
       {
          break;
       }
    }
    if(i==3)
      res=r.Substring(0,k);
    else
      res="";
      

  16.   

    为什么说能想到的都写出来了呢?看看我的
    private void button1_Click(object sender, System.EventArgs e)
    {
    string str = "fhbh,ttt,mmm,4,5";
    string str2="";
    int x=0;
    int i=0;

    while(x!=3)
    {
    str2+=str[i];
    i++; if(str[i]==',')
    {
    x++;
    }
    }
    MessageBox.Show(str2);
    }
      

  17.   

    楼上的方法理解起来的确很简单,
    但是用slit函数也是个不错的方法char [] delimiter = ",".ToCharArray();
    char c=delimiter[0];
    string [] temp=str.Split(c);
    string result=temp[0]+","+temp[1]+","+temp[2];
      

  18.   

    private string getStr(string source,char split,int num)
    {
    string[] strtemp=source.Split(split);
    if (strtemp.Length==1 || strtemp.Length<=num)
    return source; //or return "" string strResult="";
    int i=0;
    for (i=0;i<num;i++)
    {
    strResult+=strtemp[i];
    if (i<num-1) strResult+=",";
    }
    return strResult;
    }
      

  19.   

                      string str = "1,22,2,3,42";
    char[] cha = {',',','};
    string[] list = str.Split(cha);
                                if(list.Length > 3)
                           str = list[0] + "," + list[1] + "," + list[2];
      

  20.   

    不要忽略全角字符。还有可以做个更灵活的转换函数
    如 niuzhenjun(还得学呀) 同志的做法(就是有些麻烦)。
      

  21.   

    string[] list=str.split(',');
    string strtemp="";
    strtemp=list[0]+","+list[1]+","+list[2];
      

  22.   

    =================================================
    HTTP://WWW.ITZYK.NET IT资源库--->IT人的专业资源库
    =================================================
    http://www.itzyk.net 中国IT人的技术资源网站。网站刚刚起步,希望广大IT网友们加入我们,我们会一直把这个网站做大,做全起来。现在网站分为两大部分:http://bbs.itzyk.net -->专业讨论DoNet技术的论坛社区 http://down.itzyk.net  各种程序源码的下载站。
    现在论坛区正处于发展壮大期,诚邀各位有志于IT技术方面的朋友加入我们的论坛来负责版主一职,发挥你们的能力让我们把这个论坛壮大起来吧!http://bbs.itzyk.net  欢迎您的到来!同时也欢迎各位IT朋友批评、指教!
      

  23.   

    /********************************************************************
     * 函数名       : DivString
     * 功能         : 字符串截取
     * 内容         : 分割得到第index(从0开始)个division前的字符串
     * 输入参数     : char * src,char * dest,int index,char division
     * 输出参数     :
     * 输入输出参数 :
     * 返回值       : 成功  - OK
     *                失败  - NG
     * 编程者       : 
     * 更新日       : 2004-07-17
     ********************************************************************/
    int DivString(char * src,char * dest,int index,char division)
    {
     if(index < 0){
      DebugLog("分割位置不能小于0");
      return NG;
     }
     
     int count = 0;
     int i,j; 
     for (i=0,j=0;i {
      if (src[i] == division) count++;
      if (count == index&&src[i] != division) dest[j++] = src[i];
     }
     dest[j] = '\0';
     return OK;

      

  24.   

    条条大路通北京。只是在用 split 是要注意判断结果数组长度是否大于等于3。
      

  25.   

    Sql查询分析器
    declare @str varchar(2000)set @str =  '1sdf斯蒂芬,22,3adfasdf,4,5'declare @step intset @step =  charindex(',',@str,charindex(',',@str,charindex(',',@str)+1)+1)select substring(@str,0,@step)
      

  26.   

    string str = "1,22,2,3,42";
    string result = String.Empty;
    int count = str.Length;
    int i   = 0;
    int dou = 0;
    while(i<count)
    {
    if(str[i].Equals(','))
    {
    dou ++;
    if(dou.Equals(3))
    {
    break;
    }
    }
    result = result + str[i];
    i++;
    }
    Response.Write(result+"<br>");
      

  27.   

    public string ReturnSplitThree(string str)
      {
                int currentIndex;
       string returnString=null;
       for(int i = 0;i<3;i++)
         {
          if(str.Length < 1)
      return null;
      currentIndex = str.IndexOf(",");
                        returnString += str.Remove(currentIndex,str.Length - currentIndex);
      returnString += ",";
      str = str.Remove(0,currentIndex + 1);
           }
    return returnString.Remove(returnString.Length - 1,1);
        }
    这个方法绝对没问题。