【发布时间】:2015-10-07 18:42:35
【问题描述】:
我有一个这样定义的字符串:
private const String REFER_TO_BUSINESS = "<pre> (Refer to business office for guidance and explain below the circumstances for exception to policy or attach a copy of request)</pre>";
...如您所见,它具有“pre”标签,用于保留前面的空格。不过,我想在没有“pre”标签的情况下引用这个字符串。搜索 "
" 和 "" 并删除它们很容易,但对每种 HTML 标记类型都这样做很快就会变得乏味。
如何在 C# 中从字符串中去除所有标签,无论它们是“
”、“”、“”、“
【问题讨论】:
-
这是迄今为止答案中正则表达式实现的问题 - 它们破坏了不包含任何 HTML 标记的
x &lt; 6 &amp;&amp; y &gt; 8之类的字符串。 -
好点,但不适用于我的用例。
-
@jdphenix 也许是因为要成为有效的 html,你的字符串应该是
x &lt; 6 &amp;&amp; y &gt; 8 -
@B.ClayShannon
Good point, but doesn't apply to my use case.如果您的情况总是像您的问题一样简单,那么您可以使用它,但这不是获取html标签之间文本的正确方法。使用 Html 解析器,例如 HtmlAgilityPack。 -
@EZI 好的 - 你找到我了。没有一个测试用例,因为它是有效的 HTML 并且正则表达式解决方案不起作用。就是……臭。 :)