在JAVA中删除HTML中的冗余空间

在JAVA中删除HTML中的冗余空间,java,html,parsing,jtidy,htmlcleaner,Java,Html,Parsing,Jtidy,Htmlcleaner,需要执行一些HTML清理 有很多冗余br标记的HTML,到目前为止尝试了HtmlCleaner和jTidy,但没有任何结果 例如: <br> <br> <br> <br> ... 我只想拿回一张单人票 如果您只想删除多余的标记,那么我建议使用一个简单的解析状态机来进行解析,因为Jericho非常擅长保存数据 状态机会简单地保留最后一个标记,如果最后一个标记是一个标记,而下一个标记是一个标记,您只需忽略它。这是一个非常简单的练习,我建议你试试。我不

需要执行一些HTML清理

有很多冗余br标记的HTML,到目前为止尝试了HtmlCleaner和jTidy,但没有任何结果

例如:

<br>
<br>
<br>
<br>
...
我只想拿回一张单人票


如果您只想删除多余的标记,那么我建议使用一个简单的解析状态机来进行解析,因为Jericho非常擅长保存数据

状态机会简单地保留最后一个标记,如果最后一个标记是一个标记,而下一个标记是一个标记,您只需忽略它。这是一个非常简单的练习,我建议你试试。我不建议手动文本解析,即不使用HTML解析器,因为它很容易出错


我还想提醒大家,尽管人们可能会使用标签,但它是一个明确的内容标签。因此,删除标记就是更改内容。也许您不必删除一些HTML,而是从更结构化的源(如XML提要、REST API或数据库等)获取内容。

更具体一些。举个HTML的例子,它基本上只是一堆重复的br标签,想用一个br来代替。你可以通过一个在线浏览器发送你的html,然后进行大规模替换,也就是说,你是对的,这实际上就是内容。但我想说的是,有时候删除换行符是件好事,就像从前导或尾随空格中修剪字符串一样。某些法律文件和规范要求特定的空格。作为一个输入文档的用户,如果你删掉我的新行,我会觉得很烦人。这与在单个字段(如标题字段)上修剪输入不同。它是@AdamGent。但即使是StackOverflow似乎也能做到这一点。例如,在这个注释中,新行从注释中删除。我在“例如”前后都有新行。如果我编辑评论,它们仍然存在,但它们不可见。