一堆字符串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...";

解决方案 »

  1.   

    using System.Text.RegularExpressions;// 正则表达式对象
    Regex re = new Regex(@"\\r\\n");// 替换
    string oldstr = "your string";string newstr = re.Replace(oldstr, "replace to");
      

  2.   

    using System.Text.RegularExpressions;Regex rx = new Regex(@"(\r\n)+");
                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);
      

  3.   

    先谢谢LS的回复,你那样就把所有的\r\n都替换了我忘了说了,字符串中并不是标签内才有\r\n,标签外的\r\n是不能替换的。
    比如:
       strContent="..<a \r\nhref=# \r\n target=_blank\r\n>link one</a>sfasfsda\r\ndfasdfdasf\r\n<font\r\n....";
      

  4.   

    是<font >或者<a >标签内的\r\n要被替换
    其他的不用替换,因为其他的还要控制格式。
    比如:
        <font\r\n color=#ff3300\r\n>只用把这种形式的替换就行了
      

  5.   

    using System.Text.RegularExpressions;// 正则表达式对象
    Regex re = new Regex(@"<[\s\S]*?(\\r\\n)[\s\S]*?>");// 替换
    string oldstr = "your string";string newstr = re.Replace(oldstr, "replace to");
    试试这个,已调试
      

  6.   

    不行啊,楼上的大哥~
    我输入
        "<font\r\n color=#ff3300\r\n>123\r\n456</font>67890\r\n12345"
    我期望的结果应该是:
        <font color=#ff3300>123\r\n456</font>67890\r\n12345
    可用你的结果和输入的没什么变化~
      

  7.   

    try.. static void Main(string[] args)
            {
                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)+", "");
            }
      

  8.   

    例子没有举好,换一个:string strContent = "..<a \r\nhref=# \r\n target=_blank\r\n>link one</a>sfasfsda\r\ndfasdfdasf\r\n<font\r\n....>";最后加上一个">"不然匹配不上..
      

  9.   

    我的思路是这样的,匹配所有"<..>",然后将里面的"\r\n"全部替换为""可以实现...或许还有更好的方法..仅供参考..