0

我想在 html 字符串中删除一些标签和这些标签的内容,如下所示:

val htmlString = "<html><b>test,test</b></html>"
val strippedStr = htmlString.replaceAll("<b[^>]*>[a-z]*<//b>", "")

但它似乎保持字符串不变。

知道我做错了什么吗?(也许是错误的转义?)

提前致谢

4

2 回答 2

1

如果性能不是问题,您可以使用惰性量词将所有内容匹配到</b>. 额外的//也是不必要的。

<b[^>]*>.*?</b>

雷伊

你的代码

val htmlString = "<html><b>test,test</b></html>"
val strippedStr = htmlString.replaceAll("<b[^>]*>.*?</b>", "")
于 2013-09-09T13:52:41.180 回答
0

转义字符是\,不是/,并且/不需要首先转义。这不匹配,因为<//b>输入中没有。

除此之外......不要使用正则表达式来操作 HTML。使用适当的 HTML 解析器和 HTML sanitizer 来预处理输入。

于 2013-09-09T14:01:36.223 回答