删除所有' '& # 39; & lt; & # 39;和& # 39;祝辞& # 39;在c#中使用

本文关键字:删除 lt 祝辞 | 更新日期: 2023-09-27 18:04:19

我需要用c#删除html文件中'<'和'>'之间的所有''n'。

我的代码如下:

Regex.Replace(text, "(<[^<>)]*)''n+([^><]*>$)", "'1'2");

但它显然不起作用。有什么建议吗?

的例子:

< style="

">

详细的例子:

<td colspan="3" rowspan="2">
      <table cellpadding="0" cellspacing="0" class="a10" cols="13" id="t_5" lang="en-AU">
       <tr id="t_5_FNHR">
        <td class="a26" style="HEIGHT:5.00mm">
         <div class="r11">LAKOTA - PINK PANTHER RETURNS-V</div>
        </td>
        <td class="a27" style="

">
         <div class="r11">5c</div>
        </td>

:

<td class="a34" style="

">
             <div class="r11">7,390.62</div>
            </td>
            <td class="a35" style="

">
             <div class="r11">617.81</div>
            </td>
            <td class="a36" style="

">

删除所有'
'& # 39; & lt; & # 39;和& # 39;祝辞& # 39;在c#中使用

一个简单但明显脆弱的方法是删除下一个尖括号是>:

的所有换行符。
Regex.Replace(text, @"['r'n]+(?=[^<>]*>)", "");

解释:

['r'n]+  # Match one or more CR or LF characters
(?=      # if the following can be matched at the current position:
 [^<>]*  # any number of characters except angle brackets
 >       # and one closing angle bracket
)        # (End of lookahead).

可能对您的情况足够好(如果不是,regex可能不是正确的工具)。

首先创建一个匹配html标记的正则表达式,类似于<[^>]+>,然后使用匹配求值器。

   Regex r = new Regex(pattern);
   var result = r.Replace(input, new MatchEvaluator(ReplaceNewline));
   public string ReplaceNewline(Match m)
   {
      return m.Value.Replace("'n", "");     
   }
http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.matchevaluator.aspx