从 Python 中的字符串中删除前缀

在 Python 中从字符串中删除前缀

Remove a prefix from a String in Python

使用该str.removeprefix()方法从字符串中删除前缀,例如
without_prefix = my_str.removeprefix('__'). removeprefix()方法将返回一个删除了指定前缀的新字符串。

主程序
my_str = '!@#dev test ship___' # ✅ Remove prefix from string (Python 3.9+) without_prefix = my_str.removeprefix('!@#') print(without_prefix) # 👉️ 'dev test ship___' without_suffix = my_str.removesuffix('___') print(without_suffix) # 👉️ '!@#dev test ship' # ----------------------------------------------------- # ✅ Remove prefix from string (older than Python 3.9) def removeprefix(string, prefix): if string.startswith(prefix): return string[len(prefix):] return string print(removeprefix('@@avocado', '@@')) # 👉️ 'avocado' print(removeprefix('!!banana', '!!')) # 👉️ 'banana'

第一个示例使用str.removeprefix()方法从字符串中删除前缀。

该方法在 Python 3.9 或更高版本中可用。

str.removeprefix
方法检查字符串
是否
以指定前缀开头,如果是,则该方法返回不包括前缀的新字符串,否则返回原始字符串的副本。

主程序
print('_hello'.removeprefix('_')) # 👉️ '_' print('???abc'.removeprefix('???')) # 👉️ '???'

该方法不改变原来的字符串,它返回一个新的字符串。字符串在 Python 中是不可变的。

如果您使用旧版本的 Python,您可以removeprefix
自己实现该方法。

主程序
def removeprefix(string, prefix): if string.startswith(prefix): return string[len(prefix):] return string print(removeprefix('@@avocado', '@@')) # 👉️ 'avocado' print(removeprefix('!!banana', '!!')) # 👉️ 'banana'

removeprefix函数检查传入的字符串是否以指定的子字符串开头。

如果字符串不以指定的前缀开头,函数将按原样返回字符串。

如果字符串以前缀开头,则该函数返回一个字符串切片,该切片从前缀的最后一个字符之后的字符开始。

主程序
def removeprefix(string, prefix): if string.startswith(prefix): return string[len(prefix):] return string print(removeprefix('...mango', '...')) # 👉️ 'mango' print(removeprefix('>>>melon', '>>>')) # 👉️ 'melon'
Python 索引是从零开始的,因此字符串中的第一个字符的索引为0,最后一个字符的索引为-1or len(my_str) - 1

字符串切片从前缀之后的字符开始,并获取字符串的其余部分。

如果您需要从字符串中删除前缀,忽略大小写,将前缀和字符串转换为小写。

主程序
def removeprefix(string, prefix): if string.lower().startswith(prefix.lower()): return string[len(prefix):] return string print(removeprefix('aBCmango', 'abc')) # 👉️ 'mango' print(removeprefix('tESTmelon', 'test')) # 👉️ 'melon'

我们使用该str.lower()方法将字符串和前缀转换为小写。

str.lower方法返回字符串
的副本,其中所有大小写字符都转换为小写。

发表评论