gpt4 book ai didi

java - Jsoup Element.hasText 返回 true

转载 作者:行者123 更新时间:2023-11-30 08:56:55 25 4
gpt4 key购买 nike

jsoup 的 Element.hasText 方法的文档说:

Test if this element has any text content (that is not just whitespace).

但下面的例子另有说明:

    String html1 = "<html><!-- no text here --></html>";
String html2 = "<html><!-- this is text -->&nbsp;</html>";

System.out.println(Jsoup.parse(html1).hasText());
System.out.println(Jsoup.parse(html2).hasText());

输出是

false
true

我很期待

false 
false

有没有办法让 Jsoup 将   视为空格?

最佳答案

不,你不能。 Jsoup 使用 Character.isWhitespace() 来确定文本是否包含空格以外的内容。此行为无法更改(配置)。 Character.isWhitespace() Javadoc 说:

A character is a Java whitespace character if and only if it satisfies one of the following criteria:

  • It is a Unicode space character (SPACE_SEPARATOR, LINE_SEPARATOR, or PARAGRAPH_SEPARATOR) but is not also a non-breaking space ('\u00A0', '\u2007', '\u202F').

所以你是一个人。

你可以做某事。喜欢

org.jsoup.helper.StringUtil.isBlank(element.ownText().replaceAll("\u00A0", ""));

StringUtil.isBlank(String)Element.hasText() 中使用,所以你会有相同的行为,但所有不可破坏的空格字符将被删除.

关于java - Jsoup Element.hasText 返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28374502/

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