求高手帮我用C#写个函数来实现字符串的分割,不要直接用split函数,谢啦!! 

解决方案 »

  1.   

    比如给一个s1=abcdefg,s2=cd,然后用s2分割s1,分完之后得到abdefg.
      

  2.   

    用for循环遍历试试看,这个应该是最灵活的。
      

  3.   

    不是replace啦~就是分割字符串....55555555555....咋没人理解我捏...
      

  4.   


    http://www.baidu.com/baidu?word=split+C%23%E5%AE%9E%E7%8E%B0&se=360se_8_dg&ie=utf-8
      

  5.   

    比如给一个s1=abcdefg,s2=cd,然后用s2分割s1,分完之后得到abefg.
    -------------------------------------
    从你这个理解,当然是replace啦,
    要是自己写个函数实现Split功能
    要写个while循环,用IndexOf 找到分割位后,一次次递减字符串,直后最后没有.也就是IndexOf=-1跳出循环.
      

  6.   

    要么就直接用FOR循环
    char[] separator = s2.ToCharArray();//把分割字符串,转为数组.这个没所谓,不转也可以用//S2.Length
    int state = 0;//检查符合分割状态,当某一个连续位置跟要分割的条件一样时,则成立一次分割.
    ArrayList arr = new ArrayList();//分割出来的放在数组里
    string s = "";
    for(int n=0;n<s1.length;n++)
    {
       s += s1[n];
       if(s1[n] == separator[state])
       {
          state++;
          if(state==separator.Count)
          {//说明已经有一个符合分割条件的.把之前的字符串加到数组里后,再初始化这些参数.
         arr.Add(s);
             state=0;
             s="";
          }
       }
      else{
          state=0;//当s1[n] != separator[state]时,状态初始化
       }
    }
    if(s != "")arr.Add(s);大致这样吧,arr到最后即时跟SPLIT一样的数组.这里没有调试,大概的思路是这样的.方法有N多.这只是其中的一种.
      

  7.   

    不要把 问题复杂化了, replace  split 都是不错的。
      

  8.   

    比如给一个s1=abcdefg,s2=cd,然后用s2分割s1,分完之后得到abefg.
    -------------------------------------
    从你这个理解,当然是replace啦,
    不信你试试.
    string s1=abcdefg,s2=cd;
    string result = s1.Replace(s2,"");
    result就是等于abefg