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

Как удалить префикс строки в Python?

Резюме: Этот блог объясняет различные способы удаления префикса строки в Python. Как удалить префикс строки в Python? Python 3.9 предоставляет метод ReadPrefix () для облегчения манипуляций строки. Способ RESHINGPREFIX () объекта String Python удаляет префиксы из любой строки. Нужно предоставить … Как удалить префикс строки в Python? Подробнее “

Автор оригинала: Girish Rao.

Резюме: Этот блог объясняет различные способы удаления префикса строки в Python. Как удалить префикс строки в Python?

Python 3.9 предоставляет RemovePrefix () Способ для помощи строковыми манипуляциями. RemovePrefix () Способ объекта String Python удаляет префиксы из любой строки. Нужно предоставлять префикс как аргумент для RemovePrefix () метод. Например, my_string.removeprefix ('xxx') Удаляет префикс 'xxx' от my_string Отказ

>>> 'xxxhello world'.removeprefix('xxx')
'hello world'

Примечание : Все приведенные ниже решения были проверены с использованием Python 3.9.0b5.

Постановка проблемы

Представьте, что у одного есть следующая строка в Python.

my_string = "PKG_CONFIG_PATH=/usr/local/opt/sqlite/lib/pkgconfig"

Как избавиться от префикса «pkg_config_path =» и получить оставшуюся строку?

new_string = "/usr/local/opt/sqlite/lib/pkgconfig"

Фон

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

Простой метод с ReadePrefix ()

Python 3.9 предоставляет RemovePrefix () Способ для помощи строковыми манипуляциями. RemovePrefix () Способ объекта String Python удаляет префиксы из любой строки. Нужно предоставлять префикс как аргумент для RemovePrefix () метод. Следующие шаги объясняют, как это сделано.

$ python
Python 3.9.0b5 (default, Oct 19 2020, 11:11:59) 
>>>
>>> ## This is the original string whose prefix needs to be removed. 
>>> my_string = "PKG_CONFIG_PATH=/usr/local/opt/sqlite/lib/pkgconfig"
>>> 
>>> ## Provide the prefix as an argument to removeprefix. 
>>> new_string = my_string.removeprefix("PKG_CONFIG_PATH=")
>>> 
>>> new_string
'/usr/local/opt/sqlite/lib/pkgconfig'
>>> 

Примечание: RemovePrefix () Метод доступен только в Python 3.9, а затем. Пожалуйста, обратитесь к Официальная документация Python Больше подробностей. Также обратите внимание, что можно сделать все это в одной строке. Рассмотрим следующее …

$ python
Python 3.9.0b5 (default, Oct 19 2020, 11:11:59) 
>>>
>>> ## Removing the prefix as a one liner. 
>>> new_string = "PKG_CONFIG_PATH=/usr/local/opt/sqlite/lib/pkgconfig".removeprefix("PKG_CONFIG_PATH=")
>>> 
>>> new_string
'/usr/local/opt/sqlite/lib/pkgconfig'

Для любопытных читателей, RemoSuffix () Способ удаляет суффиксы из любой строки.

$ python
Python 3.9.0b5 (default, Oct 19 2020, 11:11:59) 
>>>
>>> ## This is the original string whose suffix (".org") needs to be removed. 
>>> my_string = "howToRemoveThisSuffix.org"
>>> 
>>> ## Provide the suffix as an argument to removesuffix. 
>>> new_string = my_string.removesuffix(".org")
>>> 
>>> new_string
'howToRemoveThisSuffix'
>>> 

Примечание: RemoSuffix () Метод доступен только в Python 3.9, а затем. Пожалуйста, обратитесь к Официальная документация Python Больше подробностей.

Но, что если у меня нет python 3.9?

Никогда не боясь, когда Питона здесь !! Python – это очень гибкий язык сценариев. Здесь каждый найдет что-то для себя!! Есть много способов нарезать то же яблоко, так сказать. В следующем примере показан другой метод для удаления префикса. Этот метод использует Лен () Метод вместе с Струнные нарезки Удалить префикс.

>>> ## This is the original string whose prefix needs to be removed. 
>>> my_string = "PKG_CONFIG_PATH=/usr/local/opt/sqlite/lib/pkgconfig"
>>>
>>> ## This is the prefix that needs to be removed. 
>>> my_prefix = "PKG_CONFIG_PATH="
>>>
>>> ## Use the len() method to remove the prefix. Note that the len() method returns the
>>> ## length of the provided string argument (i.e. my_prefix). String slicing is then used
>>> ## used to select and return the remaining string.     
>>> new_string = my_string[len(my_prefix):]
>>> 
>>> new_string
'/usr/local/opt/sqlite/lib/pkgconfig'
>>> 

Лен () В приведенном выше способе возвращает Длина строки. Струнные нарезки (I.e. String [A: B] ) Возвращает остальную часть строки. Обратите внимание, что опускание 'b' Средства, выберите из позиции «А» до конца строки. Опять же, вот одноклассник пример.

>>> ## Removing the prefix as a one liner. 
>>> new_string = "PKG_CONFIG_PATH=/usr/local/opt/sqlite/lib/pkgconfig"[len("PKG_CONFIG_PATH="):]
>>> new_string
'/usr/local/opt/sqlite/lib/pkgconfig'
>>> 

Любопытный читатель может спросить, «Хорошо, как можно удалить суффикс без использования RemoSeuffix () Ответ похож на выше, за исключением уведомления о тонких изменениях нарезной обозначения.

$ python
Python 3.9.0b5 (default, Oct 19 2020, 11:11:59) 
>>>
>>> ## This is the original string whose suffix (".org") needs to be removed. 
>>> my_string = "howToRemoveThisSuffix.org"
>>> 
>>> ## This is the suffix that needs to be removed. 
>>> my_suffix = ".org"
>>>
>>> ## Use the len() method to remove the suffix. Note that the len() method returns the
>>> ## length of the provided string argument (i.e. my_suffix). String slicing is then used
>>> ## used to select and return the remaining string.     
>>> new_string = my_string[:-len(my_suffix)]
>>> 
>>> new_string
'howToRemoveThisSuffix'
>>> 

Струнные нарезки ( String [A: B] ) снова используется. Однако в отличие от выше, «А» опущен. Это говорит Питону начать с начала строки. 'b' это отрицательное число. Это говорит Python считать Лен (My_Suffix) персонажи с конца my_string. . Да, подсчет выполняется назад от конца строки. Это бросает суффикс при формировании new_string Отказ

Есть ли другие способы удалить префикс?

Да, есть и другие способы … объект Python String имеет метод под названием Раздел () Отказ Если кто-то знает сепаратор, затем используйте Раздел () Способ удаления префикса. Раздел () Метод отделит строку на Первый возникновение сепаратора. Этот метод вернет 3-корпус, который содержит следующие …

  • Часть до сепаратора
  • Сам сепаратор
  • Часть после сепаратора.

Метод возвращает исходную строку, если сепаратор не найден. В этом случае исходная строка – это Первый Элемент возвращенного 3-кортежа. Другие элементы являются пустыми строками.

$ python
Python 3.9.0b5 (default, Oct 19 2020, 11:11:59) 
>>>
>>> ## This is the original string whose prefix needs to be removed. 
>>> my_string = "PKG_CONFIG_PATH=/usr/local/opt/sqlite/lib/pkgconfig"
>>>
>>> ## The partition() method splits the original string at the separator "=". In this
>>> ## example, this separator is the first and only occurrence.
>>> new_string = my_string.partition("=")
>>> ## new_string is a 3-Tuple
>>> new_string
('PKG_CONFIG_PATH', '=', '/usr/local/opt/sqlite/lib/pkgconfig')
>>>
>>> ## The third element is the string with the prefix removed. 
>>> new_string[2]
'/usr/local/opt/sqlite/lib/pkgconfig'

Но как один удаляет суффикс? Используйте rpartition () Метод объекта String Python для удаления суффикса. rpartition () Метод отделяет строку на Последнее возникновение сепаратора. Похоже на раздел () , rpartition () Метод вернет 3-корпус, который содержит следующее …

  • Часть до сепаратора
  • Сам сепаратор
  • Часть после сепаратора.

Метод возвращает исходную строку, если сепаратор не найден. В этом случае исходная строка – это Последнее Элемент возвращенного 3-кортежа. Другие элементы являются пустыми строками. Рассмотрим следующий пример …

$ python
Python 3.9.0b5 (default, Oct 19 2020, 11:11:59) 
>>>
>>> ## This is the original string whose suffix (".org") needs to be removed. 
>>> my_string = "howToRemoveThisSuffix.org"
>>> 
>>> ## The rpartition() method splits the original string at the separator ".". In this
>>> ## example, this separator is the last and only occurrence.
>>> new_string = my_string.rpartition(".")
>>>
>>> ## Again, new_string is a 3-Tuple
>>> new_string
('howToRemoveThisSuffix', '.', 'org')
>>> 
>>> ## In this example, the first element is the string with the suffix removed. 
>>> new_string[0]
'howToRemoveThisSuffix'

Как насчет методов LSTRIP () и RSTRIP ()?

Ах !! Хороший вопрос!!!. Нужно быть осторожным по поводу использования lstrip () и RSTRIP () Строковые объектные методы. lstrip () Метод принимает набор символов в качестве аргумента. Этот набор не префикс; lstrip () Полоски все комбинации аргумента набора характера. lstrip () использует свой аргумент для удаления ведущий символы из исходной строки, если это может. Это лучше понято с примером.

$ python
Python 3.9.0b5 (default, Oct 19 2020, 11:11:59) 
>>>
>>> ## This is the original string whose prefix needs to be removed.
>>> ## The prefix "abcd=" should be removed.
>>> my_string = "abcd=abadcoffee"
>>>
>>> ## So "abcd=" is provided as the argument set to lstrip()
>>> new_string = my_string.lstrip("abcd=")
>>>
>>> ## Bad idea!! lstrip() will keep stripping all leading characters until it encounters
>>> ## a character that is not in its set, i.e. "o"
>>> new_string
'offee'
>>> ## "abadcoffee" was expected. Instead the result was "offee". Remember
>>> ## lstrip() strips *all* combinations of its character set argument.

RSTRIP () Метод работает аналогично. Кроме того, он использует свой аргумент для удаления Трейлинг символы из исходной строки, если это может. Как с lstrip () Этот набор не суффикс; RSTRIP () Полоски все комбинации аргумента набора характера. Это тоже лучше понято с примером.

$ python
Python 3.9.0b5 (default, Oct 19 2020, 11:11:59) 
>>>
>>> ## This is the original string whose suffix needs to be removed.
>>> ## The suffix ".abcd" should be removed.
>>> my_string = "deadbeefabad.abcd"
>>>
>>> ## So ".abcd" is provided as the argument set to rstrip()
>>> new_string = my_string.rstrip(".abcd")
>>>
>>> ## Bad idea!! rstrip() will keep stripping all trailing characters until it encounters
>>> ## a character that is not in its set, i.e. "f"
>>> new_string
'deadbeef'
>>> ## "deadbeefabad" was expected. Instead the result was "deadbeef". Remember
>>> ## rstrip() strips *all* combinations of its character set argument

Финктерская академия

Этот блог был доставлен вам Girish , студент Finxt е r Академия Отказ Вы можете найти его Профиль намного здесь Отказ

Ссылка

Все исследования для этой статьи в блоге было сделано с использованием Python Documents , Поисковая система Google и общая база знаний Финктерская академия и Переполнение стека Общины.

Оригинал: “https://blog.finxter.com/how-to-remove-the-prefix-of-a-string-in-python/”