1

我需要从java中的以下字符串中删除HTML标签

String text = "<html><head></head><body>hi x>a and y<b and z>c</body></html>";

我可以用正则表达式做到这一点。但它也删除了字符串中的“b 和 z”。因为它被认为是标签。

4

1 回答 1

1

当然它会删除“b and z”。它应该删除该文本。因为在 HTML 中,属性不必被引用,也不需要值。b元素也是如此,and并且z是属性(没有值)。这就是 HTML 解析器可以识别的内容。

当然,and并且z并不是b元素真正可接受的属性,但就句法良好格式而言,您应该将其识别b为一个元素。

如果您不希望将其删除,则需要编写<as &lt;。无论如何,这就是编写正确 HTML 的方法。:)

附录

(是的,我知道上面在评论中引用了著名的“无法使用正则表达式解析 HTML”答案,但问题中的<vs&lt;值得在答案中指出,恕我直言。)

于 2012-06-28T05:03:51.710 回答