小能豆

如何从字符串末尾删除子字符串(删除字符串的后缀)?

javascript

我有以下代码:

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

我期望:abcdc

我有:abcd

现在我明白了

url.rsplit('.com', 1)

有没有更好的办法?


阅读 58

收藏
2024-07-11

共1个答案

小能豆

strip并不意味着“删除这个子字符串”。x.strip(y)将其视为y一组字符,并从 的两端删除该集合中的任何字符x

Python 3.9 及更新版本中,您可以使用removeprefixandremovesuffix方法从字符串的两侧删除整个子字符串:

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)
2024-07-11