Манипуляции с пробелами в текстовых данных Python
Основные операции с пробелами в строке
В Python пробел является обычным символом, поэтому для работы с ним подходят все строковые методы. В зависимости от задачи требуется вставить пробел, удалить его или нормализовать текст.
Для удаления лишних пробелов внутри строки часто применяется связка split() и join(). Она разбивает строку по любому количеству пробельных символов и собирает её заново с одним пробелом между словами.
s = 'Python пробел в строке'
result = ' '.join(s.split())
print(result)
вывести номер строки python (вывод номера строки в python)
Python пробел в строке
вывести первый символ строки python (вывести первый символ строки в python)
Такой способ подходит для текста, в котором не нужно сохранять переносы строк и табуляцию. split() без аргумента обрабатывает все пробельные символы.
Как вставить пробел между словами или символами?
Для соединения элементов списка с нужным разделителем используется метод join(). Если добавить строку из одного пробела, элементы склеиваются с интервалом.
words = ['Python', 'пробел', 'строка']
line = ' '.join(words)
print(line)
Python заменить число (замена числа в python (например, в строке))
Python пробел строка
Python часть текста (извлечение подстроки из строки в python)
Как добавить пробелы вокруг строки для выравнивания?
Методы ljust(), rjust() и center() дополняют строку пробелами до указанной ширины.
word = 'Python'
print('[' + word.ljust(10) + ']')
print('[' + word.rjust(10) + ']')
print('[' + word.center(10) + ']')
Python последнее слово в строке (извлечение последнего слова из строки в python)
[Python ] [ Python] [ Python ]
индекс элемента строки python (получение индекса символа или подстроки в строке python)
Как заменить несколько пробелов одним?
С помощью регулярного выражения re.sub() можно заменить последовательности из двух и более пробелов на один.
import re
text = 'Текст с большим количеством пробелов'
clean = re.sub(r' {2,}', ' ', text)
print(clean)
Print split python (использование split с print в python)
Текст с большим количеством пробелов
Python новая строка (использование символа новой строки в python)
Как удалить пробелы в начале и конце строки?
Метод strip() убирает пробелы и другие пробельные символы с краёв строки. Для удаления только с начала используется lstrip(), только с конца rstrip().
value = ' Пробел удалён '
print(value.strip())
print(value.lstrip())
print(value.rstrip())
Python количество пробелов (количество пробелов в строке python)
Пробел удалён Пробел удалён Пробел удалён
число цифр python (количество цифр числа в python)
Какие ошибки возникают при работе с пробелами?
Частая ошибка состоит в том, что метод split() применяется с аргументом ' ', и тогда строка с табуляцией или двойными пробелами обрабатывается неправильно. 'a b'.split(' ') вернёт список с пустым элементом.
text = 'a b'
print(text.split(' '))
print(' '.join(text.split(' ')))
Python string index (метод str.index в python)
['a', '', 'b'] a b
метод replace python (метод replace в python)
При попытке удалить из строки все пробелы без сохранения видимости слов используются странные проверки. Достаточно применить replace(' ', '') или генератор с условием char != ' '.
s = 'пробел в конце '
print(s.replace(' ', ''))
print(''.join(c for c in s if c != ' '))
Strip строки python (метод strip для строк в python)
пробелвконце пробелвконце
Дополнительные примеры содержат более редкие приёмы работы с пробелами. Каждый фрагмент показывает результат выполнения.
Удаление всех пробельных символов с помощью split() и join(). Строка разбивается на слова, затем склеивается без разделителей.
data = 'Строка\tс пробелами\nи переносами'
no_space = ''.join(data.split())
print(no_space)
Строкаспробеламиипереносами
Удаление только обычных пробелов. Функция filter() пропускает символы, которые не равны ' '.
s = 'P y t h o n'
result = ''.join(filter(lambda ch: ch != ' ', s))
print(result)
Python
Нормализация текста с регулярным выражением. Выражение \s+ находит все группы пробельных символов и заменяет их на один пробел. Метод strip() убирает пробелы по краям.
import re
text = ' Несколько слов\t\tс пробелами\n\nи строками '
clean = re.sub(r'\s+', ' ', text).strip()
print(clean)
Несколько слов с пробелами и строками
Подсчёт количества обычных пробелов. Метод count() принимает строку и возвращает число вхождений.
phrase = 'Пробел в строке Python'
print(phrase.count(' '))
3
Выравнивание методом format(). Спецификаторы <, > и ^ задают положение текста в поле фиксированной ширины.
print('|' + '{:<10}'.format('Python') + '|')
print('|' + '{:>10}'.format('Python') + '|')
print('|' + '{:^10}'.format('Python') + '|')
|Python | | Python| | Python |
Выравнивание f-строкой. Ширина и направление выравнивания записываются после имени переменной.
name = 'Python'
print(f'|{name:<10}|')
print(f'|{name:>10}|')
print(f'|{name:^10}|')
|Python | | Python| | Python |
Разделение строки с сохранением пробелов. Если в регулярном выражении указать захватывающую группу, re.split() вернёт и разделители.
import re
text = 'одно два три'
parts = re.split(r'(\s+)', text)
print(parts)
['одно', ' ', 'два', ' ', 'три']
Замена групп пробелов другим разделителем. Регулярное выражение \s+ преобразует непрерывные серии пробелов и табуляций в один символ.
import re
text = 'a b\t\tc'
result = re.sub(r'\s+', ';', text.strip())
print(result)
a;b;c