小编典典

如何从字符串末尾删除子字符串?

all

我有以下代码:

url = 'abcdc.com'
print(url.strip('.com'))

我期望:abcdc

我有:abcd

现在我做

url.rsplit('.com', 1)

有没有更好的办法?


阅读 86

收藏
2022-03-14

共1个答案

小编典典

strip并不意味着“删除此子字符串”。x.strip(y)视为y一组字符,并从x.

Python 3.9 和更高版本
上,您可以使用removeprefixremovesuffix方法从字符串的任一侧删除整个子字符串:

url = 'abcdc.com'
url.removesuffix('.com')    # Returns 'abcdc'
url.removeprefix('abcdc.')  # Returns 'com'

相关的 Python 增强提案是PEP-616

Python 3.8 及更早版本
上,您可以使用endswith和切片:

url = 'abcdc.com'
if url.endswith('.com'):
    url = url[:-4]

正则表达式

import re
url = 'abcdc.com'
url = re.sub('\.com$', '', url)
2022-03-14