Как удалить белый пробел в строке на Python
- Удаляем пробелы в начале строки на Python
- Удаление пробельных символов в конце строки на Python
- Удаление пробельных символов в начале и в конце строки на Python
- Удалить все белые пробела строки на Python
- Удалять дубликаты пробела строки только на Python
Ниже показано, как удалить белые пространства из строки. В основном он может быть разделен на два различных подхода, один из которых - методы Python str
, такие как str.split()
и str.replace()
; другой - метод регулярных выражений Python.
В качестве строки для обработки будем использовать строку " Demo Example "
в следующих примерах.
Удаляем пробелы в начале строки на Python
str.lstrip()
метод
>>> demo = " Demo Example "
>>> demo.lstrip()
"Demo Example "
Здесь метод str.lstrip()
удаляет ведущие символы, указанные в аргументе метода. Если аргумент не указан, он просто удаляет лидирующие пробелы.
Метод Python regex
>>> import re
>>> demo = " Demo Example "
>>> re.sub(r"^\s+", "", demo)
"Demo Example "
^
force regex находит соответствие только в начале строки, а \s
означает соответствие всех типов белых пространств, таких как пробелы, табуляции, возвраты и т.д. или, иными словами, оно равнозначно коллекции этих специальных символов [ \t\n\r\f\v]
. +
указывает на то, что оно должно как можно больше соответствовать пробелам.
Чтобы узнать больше о регексе, можно обратиться к этому Учебное пособие по регулярному выражению на языке Python.
Удаление пробельных символов в конце строки на Python
str.rstrip()
метод
В отличие от str.lstrip()
, которая удаляет символы в начале строки, str.rstrip()
удаляет символы в конце.
>>> demo = " Demo Example "
>>> demo.lstrip()
" Demo Example"
Метод Python regex
Аналогично, следует использовать выражение, которое совпадает с белыми пробелами в конце строки.
>>> import re
>>> demo = " Demo Example "
>>> re.sub(r"\s+$", "", demo)
" Demo Example"
Удаление пробельных символов в начале и в конце строки на Python
str.strip()
Метод
str.strip()
является комбинацией str.lstrip()
и str.rstrip()
для устранения пробелов в начале и в конце строки.
>>> demo = " Demo Example "
>>> demo.strip()
"Demo Example"
Python regex sub()
метод
>>> import re
>>> demo = " Demo Example "
>>> re.sub(r"^\s+|\s+$", "", demo)
"Demo Example"
Удалить все белые пробела строки на Python
Метод замены Pythonской строки str.replace()
Нет необходимости проверять положение белого пространства. Поэтому можно использовать метод str.replace()
для замены всех белых пробелов на пустую строку.
>>> demo = " Demo Example "
>>> demo.replace(" ", "")
'DemoExample'
Метод sub()
замена sub()
на Python string regex
Выражение регекса могло быть только \s+
для соответствия белым пробелам.
>>> import re
>>> demo = " Demo Example "
>>> re.sub(r"\s+", "", demo)
"DemoExample"
Удалять дубликаты пробела строки только на Python
Метод Python string split str.split()
>>> demo = " Demo Example "
>>> " ".join(demo.split())
'Demo Example'
str.split()
возвращает список подстрок в строке, используя белые пробела в качестве разделительной строки.
Метод python regex split re.split()
>>> import re
>>> demo = " Demo Example "
>>> " ".join(re.split(r"\s+", demo)
" Demo Example "
Результаты re.split()
и str.split()
различны, где re.split()
будет иметь пустую строку в начале или в конце списка, если в этих позициях у строки есть пробелы белого цвета, но str.split()
не включает в свой результат ни одной пустой строки.