Gibt es eine bequeme Methode, um führende oder nachgestellte Leerzeichen aus einem Java-String zu entfernen?
So etwas wie:
String myString = " keep this ";
String stripppedString = myString.strip();
System.out.println("no spaces:" + strippedString);
Ergebnis:
no spaces:keep this
myString.replace(" ","")
würde den Abstand zwischen keep und this ersetzen.
Vielen Dank
Sie können die trim () -Methode ausprobieren.
String newString = oldString.trim();
Werfen Sie einen Blick auf javadocs
Verwenden Sie String#trim()
method oder String allRemoved = myString.replaceAll("^\\s+|\\s+$", "")
, um sowohl das Ende als auch.
Für linke Verkleidung:
String leftRemoved = myString.replaceAll("^\\s+", "");
Für rechte Verkleidung:
String rightRemoved = myString.replaceAll("\\s+$", "");
Aus den docs :
String.trim();
trim () ist Ihre Wahl, aber wenn Sie die replace
-Methode verwenden möchten - die möglicherweise flexibler ist, können Sie Folgendes versuchen:
String stripppedString = myString.replaceAll("(^ )|( $)", "");
Mit Java-11 können Sie jetzt die String.strip
- API verwenden, um eine Zeichenfolge zurückzugeben, deren Wert diese Zeichenfolge ist, wobei alle führenden und nachgestellten Leerzeichen entfernt werden. Der Javadoc für das gleiche liest:
/**
* Returns a string whose value is this string, with all leading
* and trailing {@link Character#isWhitespace(int) white space}
* removed.
* <p>
* If this {@code String} object represents an empty string,
* or if all code points in this string are
* {@link Character#isWhitespace(int) white space}, then an empty string
* is returned.
* <p>
* Otherwise, returns a substring of this string beginning with the first
* code point that is not a {@link Character#isWhitespace(int) white space}
* up to and including the last code point that is not a
* {@link Character#isWhitespace(int) white space}.
* <p>
* This method may be used to strip
* {@link Character#isWhitespace(int) white space} from
* the beginning and end of a string.
*
* @return a string whose value is this string, with all leading
* and trailing white space removed
*
* @see Character#isWhitespace(int)
*
* @since 11
*/
public String strip()
Die Fallbeispiele für diese könnten sein:
System.out.println(" leading".strip()); // prints "leading"
System.out.println("trailing ".strip()); // prints "trailing"
System.out.println(" keep this ".strip()); // prints "keep this"
Um bestimmte Zeichen zu trimmen, können Sie Folgendes verwenden:
String s = s.replaceAll("^(,|\\s)*|(,|\\s)*$", "")
Hier werden führende und nachgestellte Leerzeichen und Komma entfernt.