In einer Benutzereingabe oder Konfigurationsdatei steht nicht selten vor oder hinter dem wichtigen Teil eines Textes Weißraum wie Leerzeichen oder Tabulatoren. Vor der Bearbeitung sollten sie entfernt werden. Die String-Klasse bietet dazu trim() und seit Java 11 strip(), stripLeading() und stripTrailing() an. Der Unterschied:
Methode | Entfernt … |
trim() | … am Anfang und am Ende des Strings alle Codepoints kleiner oder gleich dem Leerzeichen ‚U+0020‘ |
strip() | … alle Zeichen am Anfang und am Ende des Strings, die nach der Definition von Character.isWhitespace(int) Leerzeichen sind |
stripLeading() | … wie strip(), allerdings nur am Anfang des Strings |
stripTrailing() | … wie strip(), allerdings nur am Ende des Strings |
Unterschiede von trim() und stripXXX()
Alle vier Methoden entfernen keinen Weißraum inmitten des Strings.
Beispiel: Entferne Leer- und ähnliche Füllzeichen am Anfang und Ende eines Strings:
String s = “ \tSprich zu der Hand.\n \t „;
System.out.println( „‚“ + s.trim() + „‚“ ); // ‚Sprich zu der Hand.‘
Beispiel: Teste, ob ein String mit Abzug allen Weißraums leer ist:
boolean isBlank = „“.equals( s.trim() );
Alternativ:
boolean isBlank = s.trim().isEmpty();