Jsoup选择没有主题标签的链接

时间:2013-02-25 20:50:24

标签: java jsoup

我正在使用JSOUP过滤掉html正文中的链接。

我使用这些选择器:

Elements links = doc.select("a[href]"); // Select all links
links.select("a[href*=#]").remove(); // remove links containing #

但仍有包含主题标签的链接。这怎么可能?

1 个答案:

答案 0 :(得分:4)

Elements上的remove()方法不会从元素本身中删除匹配,而是从关联的Document对象中删除。

例如,如果你有:

<html>
 <body>
  <a href="#someid"></a>
  <a href="http://www.google.pt"></a>
 </body>
</html>

links.select("a[href*=#]").remove();后你会:

<html>
 <head></head>
 <body>  
  <a href="http://www.google.pt"></a>  
 </body>
</html>

如果要选择所有非主题标签链接,可以执行以下操作:

Elements links = doc.select("a[href~=[^#]*");