繁体   English   中英

Java Jsoup比较和替换arraylist

[英]Java Jsoup compare & replace 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

根据我对您的代码段和注释的理解,我认为这可能满足您的需求。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM