小编典典

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

python

我有以下代码:

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

我期望: abcdc

我有: abcd

现在我做

url.rsplit('.com', 1)

有没有更好的办法?


阅读 175

收藏
2020-12-20

共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)
2020-12-20