2014-09-30 100 views
0

我很抱歉不清楚的解釋。爪哇Jsoup比較與替換ArrayList

我需要比較兩個列表。列表A包含[A],[B],[C]和列表B包含[B],[C]。 現在,我想在循環中檢查列表A是否包含列表B中的字母/單詞。如果是,則從列表A中刪除那些列表。

這是我的代碼。我使用jsoup lib從url解析表,但url包含需要刪除的單詞。像國家,年齡等...

我試圖做一個新的列表,其中包含我想要刪除的單詞,但它沒有奏效。幫幫我? :(

 Scanner s = new Scanner(System.in); 

    while (true) { 
     System.out.println("URL: "); 
     String url = s.nextLine(); 

     Document doc = Jsoup.connect(url).get(); 

     /*Setting*/ 
     Document.OutputSettings settings = doc.outputSettings(); 
     settings.prettyPrint(false); 
     settings.escapeMode(Entities.EscapeMode.extended); 
     settings.charset("ASCII"); 

     String modifiedFileHtmlStr = doc.html(); 

     List<String> tabList = new ArrayList<>(); 
     for (Element table : doc.select("table:eq(1)")) { 
      System.getProperty("line.separator"); 
      for (Element row : doc.select("tr:gt(0)").not("td#t1_ckrs.td_fine")) { 
       tabList.add(row.text()); 
      } 
     } 

     String row = ""; 
     for (int i = 0; i < tabList.size(); i++) { 
      row = tabList.get(i); 
      System.out.println(row); 

     } 

    } 
} 

}

網址爲表:http://www.fidalservizi.it/risultati/Izmir_2014/Gara053.htm

+2

當然,這是可能的。但是,你不明白你實際要求什麼。 – 2014-09-30 13:25:54

+0

看起來他/她想從桌面上刪除一組「不受歡迎的詞」,但我不確定 – Leo 2014-09-30 13:28:41

+0

獅子座,這正是我的意思。 – ALoppu 2014-09-30 14:00:00

回答

1

根據我對你的代碼片段和註釋的理解,我認爲這可能是足夠您的需要

public static void main(String[] args) throws IOException { 

Document doc = Jsoup.connect("http://www.fidalservizi.it/risultati/Izmir_2014/Gara053.htm").get(); 

Elements table = doc.select("tr:gt(0)").not("td#t1_ckrs.td_fine"); 
for (Element row : table) { 

    if (isDataRow(row)) { 
    System.out.print(" Pos :" + row.getElementById("t1_clas").text()); 
    System.out.print(" Name :" + row.getElementById("t1_atle").text()); 
    System.out.println(" Country " + row.getElementById("t1_soci").text()); 
    } 
} 
} 

private static boolean isDataRow(Element row){ 
    Elements elements = row.select("tr.due"); 
    elements.addAll(row.select("tr.uno")); 
    return !elements.isEmpty() && !elements.text().equalsIgnoreCase(""); 
} 

此打印

Pos :1 Name :CHEVAUX Christophe Country  FRA FRANCE 
Pos :  Name :European Champion Country   
Pos :2 Name :VAN DER PUTTEN Marijn Country  NED NETHERLANDS 
Pos :3 Name :BAGHIROV Faig Country  AZE AZERBAIJAN 
Pos :4 Name :DIEGO Miguel Angel Country  ESP SPAIN 
Pos :5 Name :CAMBRIA Giuseppe Country  ITA ITALY 
Pos :6 Name :YILMAZ Ozgur Country  TUR TURKEY 
Pos :7 Name :MAFTEI Nelu Vasilica Country  ROU ROMANIA