Научитесь писать программу 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
Пишите мне свои вопросы в комментариях.