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

5 июня 2016 г. 10: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.7 из 5 (всего 38 оценок)

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

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

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

Автор статьи

Артём Мальцев

Веб-разработчик, владеющий знаниями языка программирования Python, фреймворка Django, системы управления содержимым сайта Django CMS, платформы для создания интернет-магазина Django Shop и многих различных приложений, использующих эти технологии.

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

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

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

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

Представляю вашему вниманию книгу, написанную моим близким другом Максимом Макуриным: Секреты эффективного управления ассортиментом.

Книга предназначается для широкого круга читателей и, по мнению автора, будет полезна специалистам отдела закупок и логистики, категорийным и финансовым менеджерам, менеджерам по продажам, аналитикам, руководителям и директорам, в компетенции которых принятие решений по управлению ассортиментом.

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

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

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

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

Для комментирования от своего имени войдите или зарегистрируйтесь на сайте Vuspace

Отправить

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

Попробуйте

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