Ce face Character.isWhitespace
isWhitespace(c) returnează true pentru spațiu, '\t', '\n', '\r' și pentru separatorii Unicode obișnuiți. Este aceeași regulă folosită de String.strip() și isBlank().
Excepție importantă: spațiul neîntrerupt ('\u00A0', des întâlnit în textul copiat din pagini web sau din Word) nu este considerat spațiu alb de această metodă. Pentru el folosește Character.isSpaceChar(c).
Parametri
| Parametru | Descriere |
|---|---|
c |
Caracterul verificat. |
Ce returnează
true dacă este spațiu alb, altfel false.
Exemple
Exemplul 1: Ce este spațiu alb
public class Main {
public static void main(String[] args) {
char[] caractere = {' ', '\t', '\n', 'a', '_', '\u00A0'};
String[] nume = {"spațiu", "tab", "rând nou", "a", "_", "spațiu neîntrerupt"};
for (int i = 0; i < caractere.length; i++) {
System.out.println(nume[i] + ": " + Character.isWhitespace(caractere[i]));
}
}
}
Rezultat
spațiu: true
tab: true
rând nou: true
a: false
_: false
spațiu neîntrerupt: false
Exemplul 2: Numărarea cuvintelor
Un cuvânt începe acolo unde un caracter care nu e spațiu urmează după un spațiu (sau la început).
public class Main {
public static void main(String[] args) {
String text = " Ana are\tmere\nși pere ";
int cuvinte = 0;
boolean inCuvant = false;
for (char c : text.toCharArray()) {
if (Character.isWhitespace(c)) {
inCuvant = false;
} else if (!inCuvant) {
inCuvant = true;
cuvinte++;
}
}
System.out.println("Cuvinte: " + cuvinte);
}
}
Rezultat
Cuvinte: 5
Greșeli frecvente
- Verifici doar
c == ' 'și ratezi tab-urile și rândurile noi. - Te bazezi pe
isWhitespacepentru text copiat de pe web: spațiul neîntrerupt\u00A0rămâne. Înlocuiește-l întâi cu un spațiu obișnuit.
Comenzi înrudite
Character.isLetter: Verifică dacă un caracter este literă, cifră sau oricare dintre ele, după regulile Unicode.String.strip: Elimină spațiile de la începutul și sfârșitul șirului; stripLeading/stripTrailing doar dintr-o parte.String.length: length() dă numărul de caractere; isEmpty() verifică dacă șirul e gol, isBlank() dacă are doar spații.Character: Clasa wrapper pentru tipul char, cu metode statice care verifică și transformă caractere (litere, cifre, spații).