gpt4 book ai didi

java - jsoup - 去除所有格式和链接标签,只保留文本

转载 作者:IT老高 更新时间:2023-10-28 20:47:59 32 4
gpt4 key购买 nike

假设我有一个这样的 html 片段:

<p> <span> foo </span> <em> bar <a> foobar </a> baz </em> </p>

我想从中提取的是:

foo bar foobar baz

所以我的问题是:我怎样才能从 html 中剥离所有的包装标签,并仅以与 html 中相同的顺序获取文本?正如您在标题中看到的,我想使用 jsoup 进行解析。

重音 html 示例(注意 'á' 字符):

<p><strong>Tarthatatlan biztonsági viszonyok</strong></p>
<p><strong>Tarthatatlan biztonsági viszonyok</strong></p>

我想要什么:

Tarthatatlan biztonsági viszonyok
Tarthatatlan biztonsági viszonyok

这个 html 不是静态的,通常我只希望通用 html 片段的每个文本都采用解码的人类可读形式,宽度换行符。

最佳答案

使用 Jsoup:

final String html = "<p> <span> foo </span> <em> bar <a> foobar </a> baz </em> </p>";
Document doc = Jsoup.parse(html);

System.out.println(doc.text());

输出:

foo bar foobar baz

如果你只想要 p-tag 的文本,用这个代替 doc.text():

doc.select("p").text();

...或只有正文:

doc.body().text();

换行:

final String html = "<p><strong>Tarthatatlan biztonsági viszonyok</strong></p>"
+ "<p><strong>Tarthatatlan biztonsági viszonyok</strong></p>";
Document doc = Jsoup.parse(html);

for( Element element : doc.select("p") )
{
System.out.println(element.text());
// eg. you can use a StringBuilder and append lines here ...
}

输出:

Tarthatatlan biztonsági viszonyok  
Tarthatatlan biztonsági viszonyok

关于java - jsoup - 去除所有格式和链接标签,只保留文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12943734/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com