我想在html字符串中删除一些标签和这些标签的内容,如下所示:
val htmlString = "<html><b>test,test</b></html>"
val strippedStr = htmlString.replaceAll("<b[^>]*>[a-z]*<//b>", "")
但它似乎保持了字符串不变。
知道我特别错的是什么吗? (也许是错误的逃避?)
提前致谢
答案 0 :(得分:1)
如果性能不是问题,您可以使用延迟量词来匹配</b>
以外的所有内容。额外的//
也是不必要的。
<b[^>]*>.*?</b>
您的代码
val htmlString = "<html><b>test,test</b></html>"
val strippedStr = htmlString.replaceAll("<b[^>]*>.*?</b>", "")
答案 1 :(得分:0)
转义字符为\
,而不是/
,/
不需要首先转义。这不匹配,因为输入中没有<//b>
。
除此之外......不要使用正则表达式来操纵HTML。使用正确的HTML解析器和HTML清理程序来预处理输入。