如何使用Jsoup从html中提取指定长度的纯文本?

发布于 2024-11-17 08:24:40 字数 807 浏览 0 评论 0 原文

我使用jsoup-1.5.2解析html标签字符串,我想从html字符串中提取纯文本并指定文本的长度,并保持完整的html标签。

例如:

html代码:

<p><span>Mike <u>stopp<b>ed</b></u> his work</span></p>

我想要结果:

指定文本长度=4

result:<p><span>Mike</span></p>

指定文本长度=10

result:<p><span>Mike <u>stopp</u></span></p>

指定文本长度=12

result:<p><span>Mike <u>stopp<b>ed</b></u></span></p>

指定文本长度=16

result:<p><span>Mike <u>stopp<b>ed</b></u> his</span></p>

等等。

我可以使用jsoup完成它吗?

I use jsoup-1.5.2 parse html tag string, I want to extract plain text from html string and specify text's length, and keep intact html tag.

examply:

html code:

<p><span>Mike <u>stopp<b>ed</b></u> his work</span></p>

I want results:

specify text length=4

result:<p><span>Mike</span></p>

specify text length=10

result:<p><span>Mike <u>stopp</u></span></p>

specify text length=12

result:<p><span>Mike <u>stopp<b>ed</b></u></span></p>

specify text length=16

result:<p><span>Mike <u>stopp<b>ed</b></u> his</span></p>

etc.

Can I finish it using jsoup?

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

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

发布评论

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

评论(1

荆棘i 2024-11-24 08:24:40

不幸的是,使用 Element 类并不简单。原因是 Element 类中的“text()”方法“获取此元素及其所有子元素的组合文本”。这真的很烦人,因为你不能只获取单个元素的文本。您需要使用 Elements 类,也许使用通配符(如果可能的话)。此方法将返回所有匹配节点的“组合”文本。它作为单个字符串返回,因此您可以对其调用 String 的“length()”方法。

It's not straightforward using the Element class unfortunately. The reason being that the 'text()' method within class Element, "Gets the combined text of this element and all its children". This is really irritating as you can't just get the text of a single element. You will need to use the Elements.select(String).text() method from the Elements class and perhaps use a wildcard (if possible). This method will return the 'combined' text of all matching nodes. This is returned as a single string so you can then call String's 'length()' method on it.

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