Java – Удалить все пробелы из строки

Научитесь писать программу Java для удаления всех пробелов и невидимых символов из заданной строки. Это может не понадобиться в реальных приложениях, но это, безусловно, может быть задано на собеседованиях для проверки наших знаний и рассуждений.

См. также: Нормализация лишних пробелов в строке

1. Использование регулярных выражений

Лучший способ найти все пробелы и заменить их пустой строкой — использовать регулярные выражения. Пробел обозначается как «\\s» в regex. Все, что нам нужно — найти все такие вхождения и заменить их пустой строкой.

Используйте «\\s+», если есть более одного последовательного пробела. Соответствует одному или нескольким пробелам.

Для выполнения поиска и замены в строке мы можем использовать метод String.replaceAll().

String sentence = " how to do in java ";System.out.println("Original sentence: " + sentence);String cleanSentence = sentence.replaceAll("\\s+", "");System.out.println("After replacement: " + cleanSentence);

Вывод программы.

Original sentence: how to do in javaAfter replacement: howtodoinjava

См. также: String strip() – Удаляет начальные и конечные пробелы

2. Использование Character.isWhitespace()

Другой простой способ выполнить поиск и замену — перебрать все символы строки.

  • Определите, является ли текущий символ пробелом или печатным символом.
  • Добавьте все печатные символы в строку и исключите все пробелы.

Полученная строка не будет содержать пробелов.

String sentence = " how to do in java ";System.out.println("Original sentence: " + sentence);sentence = sentence.codePoints().filter(c -> !Character.isWhitespace(c)).collect(StringBuilder::new,StringBuilder::appendCodePoint,StringBuilder::append).toString();System.out.println("After replacement: " + sentence);

Вывод программы.

Original sentence: how to do in javaAfter replacement: howtodoinjava

Пишите мне свои вопросы в комментариях.

Прокрутить вверх