Java 如何删除“#&引用;链接列表中的链接

Java 如何删除“#&引用;链接列表中的链接,java,character-encoding,jsoup,Java,Character Encoding,Jsoup,我正在使用JSoup列出网页上的所有链接,但在运行第一个程序后,我立即注意到所有空链接或自链接(href=“#”)。因此,我尝试使用以下代码删除这些代码: if (link != "" && link != "#" && link != "/") { links.add(link); } 但是由于某些原因,它只过滤掉“和”/“链接。我想这和看不见的角色有关,但我真的搞不懂。在我的控制台中,所有显示为链接的内容都是 有人知道发生了什么吗?你把字符串比较错了

我正在使用JSoup列出网页上的所有链接,但在运行第一个程序后,我立即注意到所有空链接或自链接(
href=“#”
)。因此,我尝试使用以下代码删除这些代码:

if (link != "" && link != "#" && link != "/") {
    links.add(link);
}
但是由于某些原因,它只过滤掉
”/“
链接。我想这和看不见的角色有关,但我真的搞不懂。在我的控制台中,所有显示为链接的内容都是


有人知道发生了什么吗?

你把字符串比较错了

以下是修复方法:

if ("".equals(link) && "#".equals(link) && "/".equals(link)) {
links.add(link);

}

在选择查询过程中,您可以过滤掉以#开头、为空或仅包含/的所有链接,例如

document.select("a:not([href^=#])").select("a[href~=^/?[^/]+]");
这转化为选择所有不以#开头的标记元素,并且可以以/开头,但在这种情况下,它们不能仅包含/


在这里您可以找到我为测试准备的示例Groovy脚本-Java代码几乎相同,只需记住;在每行末尾,将“更改为”。此示例显示如何在不进行任何进一步筛选的情况下提取所有链接。

使用String.equals来比较strings当然!完全忘记了。。。