要求,将指定的字符串每五个字符后的第一个"。"后加一个"<br/>";例子
原串:string str = "aaaaaa。bbbbbbb。cccc。dddddddddd。";处理后是这样:str = "aaaaaa。<br/>bbbbbbb。<br/>cccc。dddddddddd。<br/>";

解决方案 »

  1.   

    sting[] arr = str.spilt('。');
    string newStr = string.Empty;
    for(int i = 0 ; i < arr.length;i++)
    {
       newStr += arr[i] + "<br />";
    }
      

  2.   

    可以考虑直接用替换:
    str.replace("。","。<br/>");
      

  3.   

    str = Regex.Replace(str, "[^。]{5}。", "$0<br/>");
      

  4.   

    给个非正则的:
          string replace(string srcstr)
                {
                    char ch = '。';
                    int counter = 0;
                    StringBuilder ret = new StringBuilder();
                    for (int i =0;i<srcstr.Length;++i){
                        var curch = srcstr[i];
                        if (curch == ch)
                        {
                            if (counter >= 5)
                                ret.Append("。<br/>");
                            else
                                ret.Append(ch);
                            counter = 0;
                        }
                        else
                        {
                            ret.Append(curch);
                            counter++;
                        }
                    }
                    return ret.ToString();
                };
      

  5.   


    没看清每五个字符后的第一个意思是?处理后是这样:str = "aaaaaa。<br/>bbbbbbb。<br/>cccc。dddddddddd。<br/>";这个意思是?
      

  6.   

    string str = "aaaaaa。bbbbbbb。cccc。dddddddddd。";            System.Text.RegularExpressions.Regex reg = new Regex("[a-zA-Z]{5}。", System.Text.RegularExpressions.RegexOptions.IgnoreCase);            System.Text.RegularExpressions.Match match = reg.Match(str);            while (match.Success)
                {
                    string ret = match.Value;
                    str = str.Replace(ret, ret + "<br/>");
                    match = match.NextMatch();            }
      

  7.   

    sting[] arr = str.spilt('。');
    string newStr = string.Empty;
    for(int i = 0 ; i < arr.length;i++)

      if(arr[i].length == 5)
      {
         newStr += arr[i] + "。<br />";
      }
      else
      {
         newStr += arr[i] + "。";
      }
     }不知道这次理解的对不对。。
      

  8.   

    直接使用replace.("。","。<br/>")
      

  9.   

    可以直接用for循环来实现,每五个就加上<br>标识符啊
      

  10.   

    可以直接用for循环来实现,每五个就加上<br>标识符啊
      

  11.   

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Text.RegularExpressions;
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                string str = "aaaaaa。bbbbbbb。cccc。dddddddddd。";          Regex reg = new Regex("(?i)[a-zA-Z]{5,}。");          MatchCollection mc = reg.Matches(str);
              foreach (Match m in mc)
              {             
                str=  str.Replace(m.Value, m.Value + "<br/>");
              }
              Console.WriteLine(str);
            }
        }
    }
      

  12.   

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Text.RegularExpressions;
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                string str = "aaaaaa。bbbbbbb。cccc。dddddddddd。";           
                str = Regex.Replace(str, "(?i)[a-zA-Z]{5,}。", delegate(Match m)
                   {
                       return m.Value + "<br/>";
                   });
                Console.WriteLine(str);
            }
        }
    }
      

  13.   

    Replace就可以的啊
    不过注意了,如果想要实现输出中换行的效果
    asp.net中用<br/>
    WinForm:\r\n
    Console:Console.WriteLine();
      

  14.   

    支持:
    str.replace("。","。<br/>");
      

  15.   

    不知道是不是要这样的:
     static void Str()
            {
                string str = @"aaaaaa。bbbbbbb。ccccdddddddddd。";            char[] ch = str.ToCharArray();
                char pre = ch[0];
                char current=ch[0];            string newstr = string.Empty;
                newstr += current;            for (int i = 1; i < ch.Length; i++)
                {
                    pre = ch[i - 1];
                    current = ch[i];                newstr += current;                if (current == '。' && pre != '。')
                    {
                        newstr += "<br />";
                    }
                }            Console.WriteLine(newstr);
            }输出:aaaaaa。<br/>bbbbbbb。<br/>cccc。<br/>。。dddddddddd。<br/>
      

  16.   

    恩,直接str.replace("。","。<br/>");