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