在java中从文档中删除html标签的最快方法是什么?

发布于 2024-12-24 19:53:26 字数 183 浏览 0 评论 0 原文

我有一堆网页文档,想从中删除 html 标签。我在 StackOverflow 上看到了一些关于如何使用 java 的帖子,从正则表达式到 HtmlCleaner 和 Jsoup。

我有兴趣找到最快的方法来做到这一点。我有数百万个文档,因此性能对我来说至关重要。我什至可以用一点质量来换取性能。

感谢您提前提供任何答复。

I have bunch of web document and want to remove the html tags from it. I saw some posts on StackOverflow on how to do in java, all from regex to HtmlCleaner and Jsoup.

I am interested in finding the fastest way to do it. I have millions of documents, so performance is crucial in my case. I can even trade a bit of quality for the performance.

Thanks for any answers in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

得不到的就毁灭 2024-12-31 19:53:26

我的意见是尽可能多地使用流/SAX 处理:
1)因为它使用较少的内存
2)速度很快
3)可以更容易地并行化(低内存消耗的结果)

当您拥有数百万个文档的用例时,这些因素是需要的(根据我的观点)。
请参阅Wikipedia SAX

因此,如果您的 Html 是严格的或 XHTML。使用 XSLT,这里有一个关于如何使用 SAX 转换 XML (XHTML) 的教程 XSLT+SAX +Java

最后,如果您没有 XML 有效的 HTML,请查看此 Java:替换使用流(和 PushBackReader)的流、数组、文件等中的字符串

华泰

My opinion is to use as much as possible stream/SAX processing:
1) because it uses less memory
2) it is fast
3) can be more easier parallelized (consequence of low memory consumption)

Those factors are needed (from my pov) by your use cases where you have million of documents.
please see there Wikipedia SAX

So if your Html is strict or XHTML. Use XSLT, and here is a tuto on how to transform XML (XHTML) using SAX XSLT+SAX+Java.

And finally, if you DON'T have an XML valid HTML please, look at this Java: Replace Strings in Streams, Arrays, Files etc. which make use of stream (and PushBackReader).

HTH

轮廓§ 2024-12-31 19:53:26

1)如果html是正确的xml那么您可以创建它的文档对象并删除节点。

2) 如果它不是正确的 xml,则将整个 html 读取为字符串 &并使用替换功能删除“html”sunbstring。

如果 HTMl 不是正确的 xml,那么正则表达式是在字符串中替换的最快方法。

1) if html is proper xml then you can create its document object and remove the node.

2) if it is not proper xml then read entire html as string & and use replace function to remove "html" sunbstring.

If HTMl is not proper xml then regex is fastest way to replace in a string.

此生挚爱伱 2024-12-31 19:53:26

似乎 java regexp 是最快的解决方案。然而,它降低了之后获得的文本的质量。

Seems like the java regexp is the fastest solution. However, it degrades the quality of the text obtained after.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文