Używając Jsoup, analizuję HTML ze strony internetowej, aby wypełnić ArrayList
tym, co było potrzebne do pobrania ze strony internetowej. Teraz mam ArrayList
wypełniony ciągami. Chcę znaleźć indeks na tej liście, który zawiera pewien ciąg znaków. Na przykład, wiem, że gdzieś na liście, w jakimś indeksie, znajduje się ciąg (literał) "Claude", ale nie mogę zrobić żadnego kodu, który znajdzie indeks, który contains
"Claude" w ArrayList
... oto co próbowałem ale zwraca -1
(nie znaleziono):Znajdź indeks w tablicy ArrayList, która zawiera ciąg
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);
}
}
}
jest 'Claude' częścią większego łańcucha lub ciąg znaków w liście na jego własne? –
Spróbuj wydrukować ciąg 'a' i sprawdź" Claude ". Nie powinno tam być. Pracuj nad sposobem iterowania znaczników html przy użyciu JSoup – LGAP
Nie widzę powodu, aby uzyskać -1, jeśli "Claude" zostanie dodany do listy. szukając dodatkowych spacji podczas wstawiania, mogą użyć przycinania przed włożeniem. Sprawa ma również znaczenie, "Claude" różni się od "claude". – sudmong