<p>,</p>,<P>,</P>,<br>,</br>,<Br>,</Br>,<BR>,</BR>
来分隔位置组成数组,可以用
strTemp=" 首页<p> 空间</BR> 新闻<Br> 论坛</P> 博客<br>";
string[] temp = strTemp.Split(new string[] { "<p>","</p>","<P>","</P>","<br>","</br>","<Br>","</Br>","<BR>","</BR>" }, StringSplitOptions.None);
分割的数组元素是这样的
temp[0]=首页
temp[1]=空间
temp[2]=新闻
temp[3]=论坛
temp[4]=博客
请问我如果用正则如何做??????, 用string.split感觉有点傻傻的,我如果要加一个标签<hr>,我不是又要加好几个...还是正则强大.....
=======================================
下面是我用正则表达式.分割出来的.但是得到的结果全部是 html 标签符号"<p>","</p>","<P>","</P>","<br>","</br>","<Br>","</Br>","<BR>","</BR>"
Regex reg1 = new Regex("(?i)</?(p|br)>");
MatchCollection mc = reg1.Matches(richTextBox1.Text);
foreach (Match m in mc)
{
richTextBox2.Text += m.ToString() + "\r\n";
}
8 个解决方案
#1
string[] strs = Regex.Split(strTemp, "<[^>]*>");
//结果上有空字符串
//结果上有空字符串
#2
我只想提取<p>,<br>的,这个提取所有的<>
#3
正则改为 "(?i)</?(p|br)>"
#4
(?i)</?(
?:p|br)>
#5
只能得到
<p>
</BR>
<Br>
</P>
<br>
#6
恩看来需要另外一个数组来算出html符号的位置
#7
Regex.Split
#8
System.Text.RegularExpressions.Regex.Split("", " <(.|\n)+?> ");
#1
string[] strs = Regex.Split(strTemp, "<[^>]*>");
//结果上有空字符串
//结果上有空字符串
#2
我只想提取<p>,<br>的,这个提取所有的<>
#3
正则改为 "(?i)</?(p|br)>"
#4
(?i)</?(
?:p|br)>
#5
只能得到
<p>
</BR>
<Br>
</P>
<br>
#6
恩看来需要另外一个数组来算出html符号的位置
#7
Regex.Split
#8
System.Text.RegularExpressions.Regex.Split("", " <(.|\n)+?> ");