Python как убрать пробелы?
Как убрать лишнее из строки с 17 словами,ннадо сохранить пробелы между словами, но в начале и конце их нет смысла оставлять, как прооверить только края
Ваш вопрос
Как убрать лишнее из строки с 17 словами,ннадо сохранить пробелы между словами, но в начале и конце их нет смысла оставлять, как прооверить только края
Только по краям
Используйте text.strip(). Метод возвращает строку без начальных и конечных пробельных символов, сохраняя промежутки между словами. Исходная строка не меняется на месте, поэтому сохраните результат: text = text.strip() либо присвойте его другому имени.
Только обычные пробелы
Если нужно убрать по краям именно символ пробела, оставив табуляции и другие пробельные символы, используйте text.strip(' '). Без аргумента набор удаляемых символов шире. Для удаления только слева или справа существуют lstrip() и rstrip().
Все пробелы внутри тоже
Выражение text.replace(' ', '') удалит обычные пробелы во всей строке. Для вашей задачи это не подходит: слова склеятся. Оно не является более сильной версией strip, а выполняет другую операцию.
Свести промежутки к одному
Выражение ' '.join(text.split()) уберёт пробельные символы по краям и объединит слова одиночными пробелами. Оно изменит и внутренние промежутки, включая табуляции и переводы строк. Если исходное форматирование внутри нужно сохранить, выбирайте strip().
Проверить результат
Выведите repr(text) до и после обработки, чтобы видеть края строки и специальные символы. Обычная печать иногда скрывает, сколько пробелов осталось. Сравните пустую строку, строку только из пробелов и текст с несколькими пробелами между словами.
Не передавайте в strip целое слово, ожидая удаления точного префикса: его аргумент задаёт набор отдельных символов для удаления с краёв. Для вашей задачи аргумент вообще не нужен, если подходят все пробельные символы по краям.
v4-pro
clean = text.strip().repr(clean), чтобы проверить её края.text = text.strip().Пробелы между словами сохранятся. Для удаления только обычных пробелов по краям используйте strip(' '); без аргумента метод убирает и другие пробельные символы. replace(' ', '') склеит слова и для вашей задачи не подходит.
Пока нет премиум-вопросов в подборке
Не нашли то, что искали?
Задайте свой вопрос
Лучший ответ
4.1 Fast
4.1 Fast
Python как убрать пробелы?
В вашем случае нужен
strip():clean = text.strip(). Он убирает пробельные символы по краям, но сохраняет внутренние промежутки. Поэтому текст с несколькими пробелами между словами останется с ними.Для проверки выводите
repr(text)иrepr(clean): так заметнее начальные пробелы, завершающие переводы строк и табуляции. Строки неизменяемы, поэтому один вызовtext.strip()без использования результата не обновит переменную.Если хотите удалить по краям только обычный пробел, используйте
strip(' '). Не применяйтеreplace(' ', ''), иначе исчезнут и разделители слов внутри текста. Объединение через' '.join(text.split())подходит для другой задачи — нормализации всех промежутков до одиночного пробела. Для сохранения внутреннего форматирования оно лишнее.