Удалить лишние пробелы 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'
Похожие статьи:
Представляю вашему вниманию книгу, написанную моим близким другом Максимом Макуриным: Секреты эффективного управления ассортиментом.
Книга предназначается для широкого круга читателей и, по мнению автора, будет полезна специалистам отдела закупок и логистики, категорийным и финансовым менеджерам, менеджерам по продажам, аналитикам, руководителям и директорам, в компетенции которых принятие решений по управлению ассортиментом.
Комментарии: 0