TGViewer
Библиотека питониста | Python, Django, Flask Библиотека питониста | Python, Django, Flask @pyproglib · 37.3K subscribers
Post #7570 3.39K
✂️ 3+ способа убрать лишние пробелы в Python

Представьте, что у вас есть строка:
"Это очень странное предложение."
Наша цель: оставить строго по одному пробелу между словами.

1. Золотой стандарт: Регулярные выражения (`re`)

Самый читаемый и производительный метод. Мы ищем паттерн «два и более пробела» и меняем его на один:

import re

def clean_spaces(text):
return re.sub(r" {2,}", " ", text)


Плюс: Сохраняет пробелы в начале и в конце строки (leading/trailing whitespace), если они там были.

2. Метод «Split + Filter» (Быстрый, но с нюансом)

Популярный хак через разбиение строки:

def clean_spaces(text):
return " ".join(filter(None, text.split(" ")))


Нюанс: Этот метод удалит все пробелы в начале и конце строки. Если вам нужно «причесать» текст для БД, это даже полезно. Но если важна исходная структура — используйте re.

3. Путь джедая: Поиск неподвижной точки (Fixed Point)

В Python 3.14 появился functools.Placeholder. Это позволяет нам крутить цикл замены replace(" ", " "), пока строка не перестанет меняться:

from functools import partial, Placeholder as _P

def fixedpoint(f, x):
while x != (x := f(x)):
pass
return x

# Заменяем два пробела на один, пока они не кончатся
space_replacer = partial(str.replace, _P, " ", " ")
clean_text = fixedpoint(space_replacer, "Много пробелов")


Это скорее математический трюк, который показывает мощь функционального программирования в Python.

📍 Навигация: Вакансии • Задачи • Собесы

🐸 Библиотека питониста

#буст
  • ❤ 3
  • 👍 2
  • 🔥 1
More from @pyproglib
  1. Sep 25, 2026🔥 Курс «ИИ для разработчиков» уже стартовал И мы решили открыть первое занятие всем — мож…
  2. Sep 20, 2026👻 94% токенов уходят не на код Анализ запусков показал: основная часть токенов уходит на…
  3. Sep 19, 2026📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих» Мы написали и собр…
  4. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  5. Sep 15, 2026⏱️ Справочник по Big-O в Python Для тех, кто хочет писать не просто работающий, а эффектив…
  6. Sep 14, 2026🤪 Если бы можно было задать один вопрос про AI в разработке — что бы вы спросили? Как выб…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →