我可能误解了String.contains的作用。我现在正试图在Android中使用Jsoup来提取特定链接。我试着以faceBook为例。我尝试过一些东西。似乎是输出得到了那些不包含facebook网址并将facebook留空的。我如何获得FaceBook并停止循环。
protected Void doInBackground(Void... params) {
Document doc = null;
try {
doc = Jsoup.connect("http://www.homedepot.com").get();
Elements link = doc.select("a[href]");
String stringLink = null;
for (int i = 0; i < link.size(); i++) {
stringLink = link.toString();
if (stringLink.contains("https://www.facebook.com/")){
System.out.println(stringLink+"got it");
}
else{
//System.out.println(stringLink+"not it");
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
答案 0 :(得分:2)
以下行导致问题:
stringLink = link.toString();
link
变量是Elements的集合(在本例中是页面上的每个链接),因此通过调用link.toString()
,您将获得页面上每个链接的String表示形式一旦!这意味着stringLink
将始终包含facebook链接!
将行更改为:
stringLink = link.get(i).toString();
此行在每次迭代时仅获取索引i处的链接,并检查它是否包含facebook链接。