比如有一段如下的字符串:
一段文字111
[http://127.0.0.1/1.jpg]
[http://127.0.0.1/2.jpg]
一段文字222
[http://127.0.0.1/3.jpg]
一段文字333333
经过拆分之后得出下面结果:
string str1 = "一段文字111";
string str2 = "http://127.0.0.1/1.jpg";
string str3 = "http://127.0.0.1/2.jpg";
string str4 = "一段文字222";
string str5 = "http://127.0.0.1/3.jpg";
string str6 = "一段文字333333";
求c#代码....

解决方案 »

  1.   

    补充 
    比如有一段如下的字符串: 
    一段文字111 
    一段文字444
    一段文字555
    [http://127.0.0.1/1.jpg] 
    [http://127.0.0.1/2.jpg] 
    一段文字222 
    [http://127.0.0.1/3.jpg] 
    一段文字333333 经过拆分之后得出下面结果: 
    string str1 = "一段文字111 一段文字444一段文字555"; 
    string str2 = "http://127.0.0.1/1.jpg"; 
    string str3 = "http://127.0.0.1/2.jpg"; 
    string str4 = "一段文字222"; 
    string str5 = "http://127.0.0.1/3.jpg"; 
    string str6 = "一段文字333333"; 
    求c#代码....
      

  2.   

    分离"["和"]"用split(),不知道简单不简单!
      

  3.   


    string str = @"一段文字111
    一段文字444
    一段文字555
    [http://127.0.0.1/1.jpg]
    [http://127.0.0.1/2.jpg]
    一段文字222
    [http://127.0.0.1/3.jpg]
    一段文字333333 ";
    string result[] = str.Split("\n".ToCharArray());
    foreach(string s in result)
        s.Replace("[","").Replace("]",""); 
      

  4.   

    用正则把[imgpath]替换成","之类,再用split
      

  5.   


    C# code
    string str = "一段文字111一段文字444一段文字555[http://127.0.0.1/1.jpg][http://127.0.0.1/2.jpg]一段文字222[http://127.0.0.1/3.jpg]
    一段文字333333 ";
    string result[] = str.Split("]".ToCharArray());
    foreach(string s in result)
        s.Replace("[",""); 
    [/Quote]
      

  6.   

    改一下:string str = @"一段文字111
    一段文字444
    一段文字555
    [http://127.0.0.1/1.jpg]
    [http://127.0.0.1/2.jpg]
    一段文字222
    [http://127.0.0.1/3.jpg]
    一段文字333333 ";
    string result[] = str.Split("\n".ToCharArray());
    foreach(string s in result)
        s=s.Replace("[","").Replace("]",""); 
      

  7.   

    用笨方法吧function string[] strs(string s)
    {
       ArrayList res = new ArrayList();
       int i,j;
       string s0,s1;
       while(s.length>0)
       {
           i=s.IndexOf("[");
           j=s.IndexOf("]");
           if(i<0 )
           {
              res.Add(s);
              break;
           }
           else
           {
               if(i>1)
               {
                  s0=s.SubString(0,i-1);
                  if(s0.Length>0) res.Add(s0);
               }
               s1=s.Substring(i+1,j-i-1);
               res.Add(s1);
               if(j+1<s.Length-1)
                  s=s.Substring(j+1);
               else
                  break;
           }
        }
        string[] sres=new string[res.Count];
        res.CopyTo(sres);
        return sres;    
       }
    }
    以上程序假设[]配对。如果不配对的话,还要进行判断。
      

  8.   

    这个问题用正则解决比较好,因为jpg前的数字不一样
      

  9.   

     string Oldstr = "一段文字111 [http://127.0.0.1/1.jpg][http://127.0.0.1/2.jpg]一段文字222[http://127.0.0.1/3.jpg]一段文字333333 ";
            string[] str = Oldstr.Split('[');
            for (int i = 0; i < str.Length; i++) {
                string[] kk = str[i].Split(']');
                for (int j = 0; j < kk.Length; j++) {
                    al.Add(kk[i].Trim());
                }
            }
            return al;
    al就是你要的字符
      

  10.   

    还得改改……            string str = @"一段文字111
    一段文字444
    一段文字555
    [http://127.0.0.1/1.jpg]
    [http://127.0.0.1/2.jpg]
    一段文字222
    [http://127.0.0.1/3.jpg]
    一段文字333333 ";
                string[] result = str.Split("\n".ToCharArray());
                for (int i = 0; i < result.Length; i++)
                {
                    result[i] = result[i].Replace("[", "").Replace("]", "");
                    Console.WriteLine(result[i]);
                }
     
      

  11.   

    string Oldstr = "一段文字111 [http://127.0.0.1/1.jpg][http://127.0.0.1/2.jpg]一段文字222[http://127.0.0.1/3.jpg]一段文字333333 "; string result[]=Oldstr.Replace('[',']').Split(']');
      

  12.   

                textBox1.Clear();
                MatchCollection mc = Regex.Matches(textBox2.Text, @"(?<=(^|\n)\s*)\[[^\]]*\](?=\s*(\n|$))|(?<=^|\]\s*\n).*?(?=\n\[|$)",RegexOptions.Singleline);
                for (int i = 0; i < mc.Count;i++ )
                    textBox1.AppendText(mc[i].Value + "%" + Environment.NewLine);
    希望正文别用[开头,也别用]结尾.
      

  13.   

        string str = @"一段文字111
    一段文字444
    一段文字555
    [http://127.0.0.1/1.jpg]
    [http://127.0.0.1/2.jpg]
    一段文字222
    [http://127.0.0.1/3.jpg]
    一段文字333333 ";
                string[] result = str.Split("\n".ToCharArray());
                foreach (string s in result)
                {
                  String result1= s.Replace("[", "").Replace("]", "");
                    Console.WriteLine(result1);            }
      

  14.   

            string Str = "一段文字111[http://127.0.0.1/1.jpg][http://127.0.0.1/2.jpg]一段文字222[http://127.0.0.1/3.jpg]一段文字333333";
            string[] str=Str.Split('[',']');
            foreach ( string i in str )
            {
                    Response.Write(i+"<br>");
            
            }
      

  15.   

    string result[]=Oldstr.Replace('[',']').Split(']'); 
    针对行太强了,好方法
      

  16.   

    我想用SubString()方法和Split()方法应该可以实现吧。
      

  17.   

    string Oldstr = "一段文字111 [http://127.0.0.1/1.jpg][http://127.0.0.1/2.jpg]一段文字222[http://127.0.0.1/3.jpg]一段文字333333 "; string result[]=Oldstr.Replace('[',']').Split(']'); 
      

  18.   

    哈哈         string strTest = @"
                    一段文字111 
                    一段文字444 
                    一段文字555 
                    [http://127.0.0.1/1.jpg] 
                    [http://127.0.0.1/2.jpg] 
                    一段文字222 
                    [http://127.0.0.1/3.jpg] 
                    一段文字333333";
            string[] ss = strTest.Replace ('[',']').Split(']');我觉得还是这个方法比较好!
      

  19.   

    补充一下:        string strTest = @"
                    一段文字111 
                    一段文字444 
                    一段文字555 
                    [http://127.0.0.1/1.jpg] 
                    [http://127.0.0.1/2.jpg] 
                    一段文字222 
                    [http://127.0.0.1/3.jpg] 
                    一段文字333333";
             string[] ss = strTest.Replace ("\n","").Replace ('[',']').Split(']');