我需要从java
中的以下字符串中删除HTML标记String text = "<html><head></head><body>hi x>a and y<b and z>c</body></html>";
我可以用正则表达式做到这一点。但它也删除了字符串中的“b和z”。因为它被认为是标记。
答案 0 :(得分:1)
当然会删除“b和z”。 应该删除该文本。因为在HTML属性中不必引用它们并且它们不需要值。因此b
是一个元素,and
和z
是属性(没有值)。这就是HTML解析器可以识别的内容。
当然,and
和z
并不是b
元素的真正可接受的属性,但就语法结构良好而言,您应该将b
识别为元件。
如果您不想删除,则需要将<
写为<
。这就是如何编写正确的HTML。 :)
<强>附录强>
(是的,我知道评论中引用的着名的“无法用正则表达式解析HTML”答案,但问题中的<
vs <
值得指出回答,恕我直言。)