← Все вопросы
Как заменить несколько пробелов подряд одним?
12
После парсинга в тексте куча лишних пробелов: 'мама мыла раму'. Хочу нормализовать в один пробел между словами. Можно без регулярок?
3 ответа
21
✓ Принятый ответ — помог автору
Классический трюк без регулярок:
s = 'мама мыла раму'
print(' '.join(s.split())) # 'мама мыла раму'
split() разбивает по любым пробелам и выкидывает лишние, а ' '.join(...) склеивает обратно одним пробелом. Заодно убираются пробелы по краям.
Руслан Сагдиев Самый питоничный способ · 12 месяцев назад
Леонид Дремов И табы с переносами тоже схлопнет · 12 месяцев назад
7
Если хочется именно регуляркой: re.sub(r'\s+', ' ', s).strip().
4
' '.join(s.split()).
Ваш ответ
Войдите, чтобы ответить на вопрос.