Есть ли удобный метод для удаления начальных или конечных пробелов из строки Java?
Что-то вроде:
String myString = " keep this ";
String stripppedString = myString.strip();
System.out.println("no spaces:" + strippedString);
Результат:
no spaces:keep this
myString.replace(" ","")
заменит пространство между крепостью и этим.
Ответ 1
Вы можете попробовать метод trim().
String newString = oldString.trim();
Взгляните на javadocs
Ответ 2
Используйте String#trim()
или String allRemoved = myString.replaceAll("^\\s+|\\s+$", "")
для обрезки как конца.
Для левой обрезки:
String leftRemoved = myString.replaceAll("^\\s+", "");
Для правой отделки:
String rightRemoved = myString.replaceAll("\\s+$", "");
Ответ 3
Из docs:
String.trim();
Ответ 4
trim() - ваш выбор, но если вы хотите использовать метод replace
, который может быть более гибким, вы можете попробовать следующее:
String stripppedString = myString.replaceAll("(^ )|( $)", "");
Ответ 5
С помощью java-11 теперь вы можете использовать API String.strip
для возврата строки, значением которой является эта строка, с удалением всех начальных и конечных пробелов. Javadoc для того же гласит:
/**
* 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()
Примеры таких случаев: -
System.out.println(" leading".strip()); // prints "leading"
System.out.println("trailing ".strip()); // prints "trailing"
System.out.println(" keep this ".strip()); // prints "keep this"
Ответ 6
Чтобы обрезать определенный символ, вы можете использовать:
String s = s.replaceAll("^(,|\\s)*|(,|\\s)*$", "")
Здесь будут удалены начальные и конечные пробелы и запятая.