String.contains与Jsoup Android相反

时间:2014-03-05 09:11:25

标签: android string jsoup

我可能误解了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;
     }
   }

1 个答案:

答案 0 :(得分:2)

以下行导致问题:

stringLink = link.toString();

link变量是Elements的集合(在本例中是页面上的每个链接),因此通过调用link.toString(),您将获得页面上每个链接的String表示形式一旦!这意味着stringLink将始终包含facebook链接!

将行更改为:

stringLink = link.get(i).toString();

此行在每次迭代时仅获取索引i处的链接,并检查它是否包含facebook链接。