Удалить лишние пробелы python

5 июня 2016 г. 6:27

Для удаления всех пробелов в строке достаточно заменить символ пробела на пустую строку:

' word_1   '.replace(' ', '')  # a = 'word_1'
' word_1    word_2 '.replace(' ', '') # a = 'word_1word_2'

Как видно из последнего примера, в таком подходе слова будут слипаться с друг другом, если их несколько.

Вариант с заменой двух пробелов одним тоже не даст нужного результата - нужно несколько раз проводить замену, чтобы убедиться, что остались только одиночные пробелы между словами:

a = ' word_1    word_2 '
a = a.replace('  ', ' ') # a = ' word_1  word_2 '
a = a.replace(' ', ' ') # a = ' word_1 word_2 '

К тому же остаются пробелы по краям строки, которые тоже нужно убрать через условия.

Для быстрой очистки от ненужных пробелов в python используются следующие способы:

1 вариант

В простейшем случае, чтобы удалить лишние пробелы в строке можно воспользоваться join и split() в совокупности. Например:

string = ' word_1   word_2 '
a = ' '.join(string.split())  # a = 'word_1 word_2'

Сначала формирует список слов ['word_1', 'word_2'] через split(), а затем соединяются элементы списка одиночным пробелом через ' '.join.

2 вариант

С использованием регулярного выражения:

import re

string = ' word_1   word_2 '
a = re.sub(r'\s+', ' ', string)  # a = 'word_1 word_2'

Оцените статью

3.9 из 5 (всего 23 оценки)

captcha
Отмеченные звёздочкой поля ( * ) являются обязательными для заполнения.

Спасибо за ваш отзыв!

После нажатия кнопки "Отправить" ваше сообщение будет доставлено мне на почту.

Автор статьи

Права на использование материала, расположенного на этой странице https://vivazzi.pro/it/remove-spaces-python/:

Разрешается копировать материал с указанием её автора и ссылки на оригинал без использования параметра rel="nofollow" в теге <a>. Использование:

Автор статьи: Мальцев Артём
Ссылка на статью: <a href="https://vivazzi.pro/it/remove-spaces-python/">https://vivazzi.pro/it/remove-spaces-python/</a>

Подробнее: Правила использования сайта

Комментариев: 0

Вы можете оставить комментарий как незарегистрированный пользователь.

Но зарегистрировавшись, вы сможете:

  • получать оповещения об ответах
  • просматривать свои комментарии
  • иметь возможность использовать все функции разработанных сервисов

Для комментрирования от своего имени, войдите или зарегистрируйтесь обычным способом или через социальные сети:

Отправить

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте

Выберите валюту для отображения денежных единиц