【问题标题】:How to extract plain text of specified length from html using Jsoup?如何使用Jsoup从html中提取指定长度的纯文本?
【发布时间】:2011-06-27 11:36:59
【问题描述】:

我使用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 完成它吗?

【问题讨论】:

  • 您是否尝试过自己提出解决方案?在我看来,这是一个非常自定义的要求,您不会在 Jsoup 或其他库中找到现成的要求(尽管我可能会弄错)。您似乎在解析时获得了一个 DOM 文档,因此 DOM 方法可以在这里派上用场。干杯,维姆

标签: java jsoup


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2019-06-23
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    • 2018-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多