e-olymp 2165. Лишние пробелы

Задача

Дана строка. Напишите программу, которая удалит из этой строки все лишние пробелы.
Пробел является лишним, если выполняется хотя бы 1 из условий:

  • он находится в самом начале строки, до самого первого слова;
  • он находится в конце строки, после самого последнего слова;
  • несколько пробелов расположены между двумя словами (проще говоря, если слова разделены более чем одним пробелом, тогда все пробелы кроме одного — лишние).

Входные данные

Дана строка s. Строка содержит только латинские буквы и пробелы.

Выходные данные

Строка без лишних пробелов.

Тесты

Входные данные Выходные данные
1 «Alexandr      Sergeevich   Pushkin» «Alexandr Sergeevich Pushkin»
2 «JohnSnow» «JohnSnow»
3 » Mr    Charlie       Chaplin » «Mr Charlie Chaplin»
4 «Mechnikov    University» «Mechnikov University»
5 «Daenerys          Targaryen» «Daenerys Targaryen»

Код

Ссылка на ideone.
Ссылка на e-olymp.

Решение

Вводим строку s, которая содержит латинские буквы и пробелы. Используем метод replaceAll()  для удаления лишних пробелов. Чтоб не удалить последний оставшийся пробел используем regex " +", " " . «Прочитать» его по-русски можно так: " +"  — выделить 1 или больше пробелов до символа, не являющимся пробелом и " "  — заменить выделенную последовательность на 1 пробел. Проверяем символы на концах строки на наличие пробела. Перезаписываем подстроку без пробелов в строку s.

Затем выводим полученную строку.

3 thoughts on “e-olymp 2165. Лишние пробелы

  1. — Пожалуйста, разберитесь с кодированием списков.
    — Поскольку пробелы (особенно в конце строки) сложно увидеть, стоит как-то обозначить начало и конец строк в тестах. Например кавычками.
    — Тесты должны проверить работу в каждом из заданных случаев.
    — Сделайте, пожалуйста ссылку на задачу на сайте https://www.e-olymp.com

  2. — Отступы!
    — Нет тестов с лидирующими и завершающими пробелами.
    — Я запустил тест с пробелами по краям » u «. Была длина 3. После работы Вашей программы так и осталась 3 и ничего не удалилось.

  3. Зачтено.
    Пожалуйста, в дальнейшем не используйте для отступов пробелы и табуляции вместе. Соотношение между пробелами и табуляциями зависит от настроек редактора. Значит при открытии Вашего кода в другом редакторе, все отступы могут поползти.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *