除了<b>使用正则表达式c#</b>之外,删除html标记

时间:2013-05-01 01:36:43

标签: c# regex html-parsing

我想删除所有html,但使用正则表达式保留<b>标记。有没有更好的方法来代替

  1. <b>替换为非html标记,例如$ b $
  2. 使用<[^>]*>
  3. 删除所有html标记
  4. <b>
  5. 替换$ b $

1 个答案:

答案 0 :(得分:5)

以下是一种只允许打开和关闭b代码的方法。删除任何其他标签。

var teststring = "Test <b>test</b> lorem <i>ipsum</i>";
var pattern = @"(?!</?b>)<.*?>"; // assuming open and closing tags are retained
Console.WriteLine(Regex.Replace
       (teststring,
         pattern,
         String.Empty,
         RegexOptions.Multiline));

输出:Test <b>test</b> lorem ipsum