比如
有字符串"abcadeaf"
我需要的以a为regex
把该字符串分割成一个string[]
内容应该是string[0]="a";
         string[1]="bc";
         string[2]="a";
         string[3]="de";
         string[4]="a";
         string[5]="f"

解决方案 »

  1.   

    string str = "abcadeaf";
                string[] sa_Temp = str.Split(new Char[]{'a'});
                string[] sa = new string[sa_Temp.Length * 2];
                for (int i = 0; i < sa_Temp.Length; i++)
                {
                    sa[i * 2] = "a";
                    sa[i * 2 + 1] = sa_Temp[i];
                }
                return sa;
      

  2.   

    一点小技巧,我手工写的,lz自己去测试:string s="abcadeaf";
    s=s.Replace("a","a|");
    string[] str=s.splict('|');
      

  3.   

    string kk="abcadeaf";
    string bb=kk.Replace("a","#a#");
    string[] cc=bb.Split('#');
    string mytest="";
    for(int j=0;j<cc.Length;j++)
    {
    mytest=cc[j].ToString().Trim();
    Console.WriteLine(mytest);
    }
      

  4.   

    的结果应该是a
    bca
    dea
    f
      

  5.   

    上面的有点问题,改进下:string s="abcadeaf";
    s=s.Replace("a","|a|");
    if (s.substring(0,1)=='|') s=s.Substring(1,s.Length-1);
    string[] str=s.split('|');
      

  6.   


    string s="abcadeaf";
    s=s.Replace("a","|a|");
    if (s.Substring(0,1)=="|") s=s.Substring(1,s.Length-1);
    string[] str=s.Split('|');
      

  7.   


    还需要改掉第一个空值得可能,如果第一个是a的话
    string[0]就是""
      

  8.   


            string[1]=str.Substring(1,2); 
            string[2]=str.Substring(0,1);
            string[3]=str.Substring(4,2); 
            string[4]=str.Substring(6,1);
            string[5]=str.Substring(7,1); 
      

  9.   


                string str = "abcadeaf";
                str = str.Replace("a", "-a-").Substring(1);
                string[] result = str.Split('-');
      

  10.   

               
    还是一个个的取字符串吧........
    测试下吧。
    理论上正确
     string str = "ddabcadeaf";
                List<string> list =new List<string>();
                string temp = "";            for (int i = 0; i < str.Length; i++)
                {
                    if (i == 0 && str[i] == 'a')
                    {
                        list.Add(str[i].ToString());
                        temp = "";
                        continue;
                    }                if (str[i] == 'a' && i != 0)
                    {
                        list.Add(temp);
                        list.Add(str[i].ToString());                    temp = "";
                    }
                    else
                    {
                        temp = temp + str[i];
                        if (i == str.Length - 1)
                            list.Add(temp);                }
                }
                string[] st = list.ToArray();
      

  11.   

    Good idea. 但是要求原串中不能有"辅助字符"
      

  12.   


    怎么可能,lz测试清楚了吗:
    string s="abcadeaf";
    s=s.Replace("a","|a|");
    if (s.Substring(0,1)=="|") s=s.Substring(1,s.Length-1);
    string[] str=s.Split('|');
    for(int i=0;i<str.Length;i++) Response.Write(str[i]+"<br>");
      

  13.   

    String.Split 方法 (String[], StringSplitOptions) 
    这个可以不返回空值
      

  14.   

     string s = "abcadeafa";
                s = s.Replace("a", "|a|").Trim('|');