Рубрики
Без рубрики

Функция Python String strip()

Автор оригинала: Jacob Stopak.

Функция Python String strip()

В этой статье мы рассмотрим, как удалить символы с обоих концов строки в Python.

Встроенный тип String является важной структурой Python и поставляется со встроенным набором методов для упрощения работы с текстовыми данными. Существует множество ситуаций, в которых программист может захотеть удалить ненужные символы, то есть удалить определенные символы из начала или конца строки.

Наиболее распространенным требованием является удаление пробелов (пробелов, табуляций, символов новой строки и т. Д.) С обоих концов строки. Обычно это происходит после импорта необработанных текстовых данных из файла, базы данных, веб-службы или после принятия пользовательского ввода, который может содержать опечатки в виде дополнительных пробелов. Это может быть обработано с помощью метода String.strip() по умолчанию, как показано здесь:

>>> orig_text = '     The cow jumped over the moon!        \n'
>>> print(orig_text.strip())
The cow jumped over the moon!
>>>

Обратите внимание, что этот метод не изменяет исходное значение строки, то есть не изменяет строку на месте. Он просто возвращает строку new с вычеркнутыми пробелами на обоих концах. Мы можем проверить это, распечатав исходную строку:

>>> print(orig_text)
     The cow jumped over the moon!        

>>>

Метод strip также позволяет нам указать, какие типы символов мы хотим удалить. Это может быть полезно, если мы хотим удалить другие символы, кроме пробелов. Для этого мы просто указываем символы для полосы, передавая аргумент, содержащий эти символы, в метод String.strip() :

>>> orig_text = '-----The cow jumped over the moon!$$$$$'
>>> print(orig_text.strip('-$'))
The cow jumped over the moon!
>>>

Это полезно для удаления символов в начале или конце строки, которые использовались, например, для форматирования. Поэтому, если у вас есть строка в формате Markdown, вы можете легко удалить синтаксис заголовка следующим образом:

>>> md_text = '### My Header Here' # Denotes an H3 header in Markdown
>>> print(md_text.strip('# '))
My Header Here
>>>

Наконец, Python предоставляет способ удаления символов только с одной стороны строки с помощью методов String.rstrip() и String.lstrip () . Эти методы работают точно так же, как метод String.strip () , но String.rstrip() удаляет только символы из правой части строки и String.lstrip() удаляет только символы из левой части строки:

>>> orig_text = '*****The cow jumped over the moon!*****'
>>> print(orig_text.rstrip('*'))
*****The cow jumped over the moon!
>>> print(orig_text.lstrip('*'))
The cow jumped over the moon!*****

Еще раз мы можем распечатать исходную строку, чтобы увидеть, что она не была затронута этими операциями:

>>> print(orig_text)
*****The cow jumped over the moon!*****

Об авторе

Эта статья была написана Джейкобом Стопаком, консультантом по программному обеспечению и разработчиком, страстно желавшим помочь другим улучшить свою жизнь с помощью кода. Иаков-создатель Initial Commit – сайт, посвященный тому, чтобы помочь любознательным разработчикам узнать, как кодируются их любимые программы. Его избранный проект помогает людям изучать Git на уровне кода.