我有以下代码:
url = 'abcdc.com' print(url.strip('.com'))
我期望:abcdc
abcdc
我有:abcd
abcd
现在我明白了
url.rsplit('.com', 1)
有没有更好的办法?
strip并不意味着“删除这个子字符串”。x.strip(y)将其视为y一组字符,并从 的两端删除该集合中的任何字符x。
strip
x.strip(y)
y
x
在Python 3.9 及更新版本中,您可以使用removeprefixandremovesuffix方法从字符串的两侧删除整个子字符串:
removeprefix
removesuffix
url = 'abcdc.com' url.removesuffix('.com') # Returns 'abcdc' url.removeprefix('abcdc.') # Returns 'com'
相关的 Python 增强提案是PEP-616。
在Python 3.8 及更早版本中,你可以使用endswith和切片:
endswith
url = 'abcdc.com' if url.endswith('.com'): url = url[:-4]
或者正则表达式:
import re url = 'abcdc.com' url = re.sub('\.com$', '', url)