一堆字符串strContent中含有多个HTML标签,
因为处理的原因,很多标签内含有回车换行即\r\n,现在我想把标签内的\r\n通过正则表达式去掉,但写了几个都不是很好,请大家帮帮忙。
例:
strContent="...<FONT \r\n Color=#ff3300\r\n>字体一</FONT><A \r\n href=#\r\n target=_blank\r\n>link a</a><font \r\n...";
//上述字符串中...代表其他类型相同的内容,大家可以看到标签FONT内含有2个\r\n,A标签中含有2个\r\n,我现在想用正则表达式把这些鬼东西去掉(如下)!
strContent="...<FONT Color=#ff3300>字体一</FONT><A href=# target=_blank>link a</a><font \r\n...";
因为处理的原因,很多标签内含有回车换行即\r\n,现在我想把标签内的\r\n通过正则表达式去掉,但写了几个都不是很好,请大家帮帮忙。
例:
strContent="...<FONT \r\n Color=#ff3300\r\n>字体一</FONT><A \r\n href=#\r\n target=_blank\r\n>link a</a><font \r\n...";
//上述字符串中...代表其他类型相同的内容,大家可以看到标签FONT内含有2个\r\n,A标签中含有2个\r\n,我现在想用正则表达式把这些鬼东西去掉(如下)!
strContent="...<FONT Color=#ff3300>字体一</FONT><A href=# target=_blank>link a</a><font \r\n...";
Regex re = new Regex(@"\\r\\n");// 替换
string oldstr = "your string";string newstr = re.Replace(oldstr, "replace to");
string strContent = "...<FONT \r\n Color=#ff3300\r\n>字体一</FONT><A \r\n href=#\r\n target=_blank\r\n>link a</a><font \r\n...";
strContent = rx.Replace(strContent,"");
Console.WriteLine(strContent);
比如:
strContent="..<a \r\nhref=# \r\n target=_blank\r\n>link one</a>sfasfsda\r\ndfasdfdasf\r\n<font\r\n....";
其他的不用替换,因为其他的还要控制格式。
比如:
<font\r\n color=#ff3300\r\n>只用把这种形式的替换就行了
Regex re = new Regex(@"<[\s\S]*?(\\r\\n)[\s\S]*?>");// 替换
string oldstr = "your string";string newstr = re.Replace(oldstr, "replace to");
试试这个,已调试
我输入
"<font\r\n color=#ff3300\r\n>123\r\n456</font>67890\r\n12345"
我期望的结果应该是:
<font color=#ff3300>123\r\n456</font>67890\r\n12345
可用你的结果和输入的没什么变化~
{
string strContent = "..<a \r\nhref=# \r\n target=_blank\r\n>link one</a>sfasfsda\r\ndfasdfdasf\r\n<font\r\n....";
string result = Regex.Replace(strContent, @"<[\s\S]*?>", new MatchEvaluator(CapText));
Console.WriteLine(result);
} static string CapText(Match m)
{
string x = m.ToString();
return Regex.Replace(x, @"(\r\n)+", "");
}