2014-09-30 72 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