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

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

Remove a suffix from a String in Python

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

主程序
# ✅ Remove suffix from string (Python 3.9+) my_str = '$$$melon@@@' without_suffix = my_str.removesuffix('@@@') print(without_suffix) # 👉️ '$$$melon' without_prefix = my_str.removeprefix('$$$') print(without_prefix) # 👉️ 'melon@@@' # ----------------------------------------------------- # ✅ Remove suffix from string (older than Python 3.9) def removesuffix(string, suffix): if string.endswith(suffix): return string[:-len(suffix)] return string print(removesuffix('orange!!!', '!!!')) # 👉️ 'orange' print(removesuffix('pear**', '**')) # 👉️ 'pear'

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

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

str.removesuffix
方法检查字符串
是否
以指定的后缀结尾,如果是,则该方法返回一个不包括后缀的新字符串,否则返回原始字符串的副本。

主程序
print('apricot,,,'.removesuffix(',,,')) # 👉️ 'apricot' print('grapefruit=='.removesuffix('==')) # 👉️ 'grapefruit'

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

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

主程序
def removesuffix(string, suffix): if string.endswith(suffix): return string[:-len(suffix)] return string print(removesuffix('orange!!!', '!!!')) # 👉️ 'orange' print(removesuffix('pear**', '**')) # 👉️ 'pear'

removesuffix函数检查传入的字符串是否以指定的子字符串结尾。

如果字符串不以指定的子字符串结尾,则函数按原样返回字符串。

如果字符串以子字符串结尾,则函数返回函数的一个片段,直到指定的子字符串。

我们使用负字符串切片从新字符串切片中排除后缀。

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

主程序
def removesuffix(string, suffix): if string.lower().endswith(suffix.lower()): return string[:-len(suffix)] return string print(removesuffix('orangeABC', 'abc')) # 👉️ 'orange' print(removesuffix('pearZxc', 'zXC')) # 👉️ 'pear'

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

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

发表评论