要求,将指定的字符串每五个字符后的第一个"。"后加一个"<br/>";例子
原串:string str = "aaaaaa。bbbbbbb。cccc。dddddddddd。";处理后是这样:str = "aaaaaa。<br/>bbbbbbb。<br/>cccc。dddddddddd。<br/>";
原串:string str = "aaaaaa。bbbbbbb。cccc。dddddddddd。";处理后是这样:str = "aaaaaa。<br/>bbbbbbb。<br/>cccc。dddddddddd。<br/>";
string newStr = string.Empty;
for(int i = 0 ; i < arr.length;i++)
{
newStr += arr[i] + "<br />";
}
str.replace("。","。<br/>");
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();
};
没看清每五个字符后的第一个意思是?处理后是这样:str = "aaaaaa。<br/>bbbbbbb。<br/>cccc。dddddddddd。<br/>";这个意思是?
{
string ret = match.Value;
str = str.Replace(ret, ret + "<br/>");
match = match.NextMatch(); }
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] + "。";
}
}不知道这次理解的对不对。。
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);
}
}
}
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);
}
}
}
不过注意了,如果想要实现输出中换行的效果
asp.net中用<br/>
WinForm:\r\n
Console:Console.WriteLine();
str.replace("。","。<br/>");
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/>