Python分割字符串但保留分割字符。

3
我经常使用这种模式:

我发现自己经常使用这种模式:

new_url = season_url.split('cid=')[0] + 'cid='

有没有更符合Python风格的方法来实现这个?
2个回答

3

像这样的内容吗?

def truncate_after(s, needle):
    partition_pos = s.index(needle)+len(needle)
    return s[:partition_pos]

如果您需要两个部分,它也可以返回另一个部分。

Python非常容易定义函数。如果你发现自己经常做某件事情,即使它很琐碎,也可以为其创建一个函数。函数的主体甚至并不重要,问题中的原始代码在这里同样适用。 - Mark Ransom

2
尝试使用str.partition(),它可以创建一个长度为3的列表,其中包含分割字符之前的部分、分割字符和分割字符之后的部分。
new_url = ''.join(season_url.partition('cid=')[:2])

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接