10

Jsoup を使用して、Web サイトから HTML を解析し、Web サイトArrayListから取得する必要があるものを入力します。これArrayListで、文字列で満たされた ができました。特定の文字列を含むリスト内のインデックスを見つけたい。たとえば、リストのどこかにあるインデックスに、文字列(リテラル)「Claude」があることは知っていますが、contains「Claude」というインデックスを見つけるコードを作成できないようですArrayList...ここでは私が試したことはありますが、返されます-1(見つかりません):

ArrayList < String > list = new ArrayList < String > ();
String claude = "Claude";

Document doc = null;
try {
    doc = Jsoup.connect("http://espn.go.com/nhl/team/stats/_/name/phi/philadelphia-flyers").get();
} catch (IOException e) {
    e.printStackTrace();
}
for (Element table: doc.select("table.tablehead")) {
    for (Element row: table.select("tr")) {
        Elements tds = row.select("td");
        if (tds.size() > 6) {
            String a = tds.get(0).text() + tds.get(1).text() + tds.get(2).text() + tds.get(3).text() + tds.get(4).text() + tds.get(5).text() + tds.get(6).text();

            list.add(a);

            int claudesPos = list.indexOf(claude);
            System.out.println(claudesPos);
        }
    }
}
4

2 に答える 2

1
First check whether it is an instance of String then get index

if (x instanceof String) {
    ...
}

for (int i = 0; i < list.size(); i++) {
    if (list.get(i).getX() == someValue) { // Or use equals() if it actually returns an Object.
        // Found at index i. Break or return if necessary.
    }
}
于 2013-02-20T08:59:40.513 に答える