12312312312312<br/>
1231asdfasdf<br/> <br/><br/>
aSVdikagisdgviasdgi<br/><br/><br/><br/><br/>
asbgdiahsod<br/><br/><br/>我先描述下问题,比如很多个段落或者字符串,然后有很多<br/>,我想把上边的这些重复的br
都变成只有一个。怎么做呢?用c#截取字符串的方式
1231asdfasdf<br/> <br/><br/>
aSVdikagisdgviasdgi<br/><br/><br/><br/><br/>
asbgdiahsod<br/><br/><br/>我先描述下问题,比如很多个段落或者字符串,然后有很多<br/>,我想把上边的这些重复的br
都变成只有一个。怎么做呢?用c#截取字符串的方式
string str = @"12312312312312<br/>
1231asdfasdf<br/> <br/><br/>
aSVdikagisdgviasdgi<br/><br/><br/><br/><br/>
asbgdiahsod<br/><br/><br/>";
string result = Regex.Replace(str,@"(?:<br/>[^\r\n]*)+","<br/>");
Console.WriteLine(result);
/*
12312312312312<br/>
1231asdfasdf<br/>
aSVdikagisdgviasdgi<br/>
asbgdiahsod<br/>*/
1231asdfasdf<br/> <br/><br/>
aSVdikagisdgviasdgi<br/><br/><br/><br/><br/>
asbgdiahsod<br/><br/><br/>";
string result = Regex.Replace(str,@"(?m)(?:<br/>\s*)+$","<br/>");
Console.WriteLine(result);
/*
123123<br/>12312312<br/>
1231asdfasdf<br/>
aSVdikagisdgviasdgi<br/>
asbgdiahsod<br/>*/
这个是不错的方法
然后就是Replace 方法了
string str = "12312312312312<br/> " +
"1231asdfasdf<br/> <br/><br/>" +
"aSVdikagisdgviasdgi<br/><br/><br/><br/><br/>" +
"asbgdiahsod<br/><br/><br/>";
string result = str.Replace("<br/>", "");
"1231asdfasdf<br/> <br/><br/>" +
"aSVdikagisdgviasdgi<br/><br/><br/><br/><br/>" +
"asbgdiahsod<br/><br/><br/>";string strarr=str.split(str,"<br/>");
......
算一个吧
==>
string[] strarr=str.split(str,"<br/>");
string str = @"12312312312312<br/>
1231asdfasdf<br/> <br/><br/>
aSVdikagisdgviasdgi<br/><br/><br/><br/><br/>
asbgdiahsod<br/><br/><br/>";
while(str.Trim(" ") contains "<br/><br/>" )
{
string result=str.Replayce("<br/><br/>" ,"<br>")
}
"12312312312312<br/> "
第二段是"1231asdfasdf<br/> <br/><br/>",我会告诉你获取到的string s=contents,但是contents里的内容你并不知道,有多长,有几段,所以你们怎么自己就给段分了。
不同浏览器当按enter键的时候\r\n不一样。
我上面写的那个正则(?m)多行模式,也就是匹配每一行中以<br/>(多个或一个)结尾的行,然后进行替换。或者你根据\r\n拆分每一行,
然后循环判断结尾是否是<br/>标签或是空格,如果是空格继续循环进来,如果结尾不是空格或<br/>标签的话就可以忽略这一行不用进行替换。
这种问题正则处理比较方便。
static void Main(string[] args)
{
string str = "12312312312312<br/>1231asdfasdf<br/><br/><br/>aSVdikagisdgviasdgi<br/><br/><br/><br/><br/>asbgdiahsod<br/><br/><br/>";
string[] arrayStrs = str.Split(new string[] { "<br/>" }, StringSplitOptions.RemoveEmptyEntries);
string strFormat = string.Empty;
for (int i = 0; i < arrayStrs.Length; i++)
{
strFormat = strFormat + arrayStrs[i] + "<br/>";
}
if (strFormat != String.Empty)
{
strFormat = strFormat.Substring(0, strFormat.Length - 5);
}
Console.WriteLine(strFormat);
Console.ReadLine();
}
{
string str = "12312312312312<br/>1231asdfasdf<br/><br/><br/>aSVdikagisdgviasdgi<br/><br/><br/><br/><br/>asbgdiahsod<br/><br/><br/>";
while (str.Contains("<br/><br/>"))
{
str = str.Replace("<br/><br/>", "<br/>");
}
Console.WriteLine(str);
Console.ReadLine();
}
正则表达式也是一个好办法,但是俺不会啊.