Trim () w Javie nie działa tak, jak się spodziewam? [duplikować]
Możliwy duplikat:
Zapytanie o metodę trim () w Javie
Analizuję nazwy użytkowników witryny i inne informacje, a każda z nich ma za sobą kilka spacji (ale spacje między słowami). Na przykład: „Bob the Builder” lub „Sam the welder”. Liczby spacji różnią się w zależności od nazwy. Pomyślałem, że użyję po prostu .trim (), ponieważ użyłem tego wcześniej. Jednak sprawia mi to kłopoty. Mój kod wygląda tak:
for (int i = 0; i < splitSource3.size(); i++) {
splitSource3.set(i, splitSource3.get(i).trim());
}
Wynik jest taki sam; na końcu nie usuwa się spacji. Z góry dziękujemy za doskonałe odpowiedzi!
AKTUALIZACJA:
Pełny kod jest nieco bardziej skomplikowany, ponieważ najpierw są analizowane znaczniki HTML. To idzie dokładnie tak:
for (String s : splitSource2) {
if (s.length() > "<td class=\"dddefault\">".length() && s.substring(0, "<td class=\"dddefault\">".length()).equals("<td class=\"dddefault\">")) {
splitSource3.add(s.substring("<td class=\"dddefault\">".length()));
}
}
System.out.println("\n");
for (int i = 0; i < splitSource3.size(); i++) {
splitSource3.set(i, splitSource3.get(i).substring(0, splitSource3.get(i).length() - 5));
splitSource3.set(i, splitSource3.get(i).trim());
System.out.println(i + ": " + splitSource3.get(i));
}
}
AKTUALIZACJA:
Uspokój się. Nigdy nie powiedziałem, że wina leży po stronie Javy, i nigdy nie powiedziałem, że to błąd, złamanie lub cokolwiek innego. Po prostu powiedziałem, że mam z tym problem i opublikowałem mój kod, abyś mógł współpracować i pomóc w rozwiązaniu mojego problemu. Zwróć uwagę na wyrażenie „mój problem”, a nie „problem java”. Wydrukowałem kod
System.out.println(i + ": " + splitSource3.get(i) + "*");
po każdej pętli.
W ten sposób wiedziałem, że mam problem. Nawiasem mówiąc, problem nadal nie został naprawiony.
AKTUALIZACJA:
Przykładowe wyjście (minus pojedyncze cudzysłowy):
'0: Olin D. Kirkland '
'1: Sophomore '
'2: Someplace, Virginia 12345<br />VA SomeCity<br />'
'3: Undergraduate '
EDYTOWAĆ PO przeformułował swoje pytanie naZapytanie o metodę trim () w Javie, gdzie okazało się, że problemem są białe znaki Unicode, które nie są dopasowane przezString.trim()
.