gpt4 book ai didi

python - 如何一次而不是顺序替换多个子字符串?

转载 作者:行者123 更新时间:2023-12-05 08:45:10 26 4
gpt4 key购买 nike

我想一次替换多个子字符串,例如,在下面的语句中我想用猫替换狗,用狗替换猫:

我有一只狗,但没有一只猫。

但是,当我使用顺序替换 string.replace('dog', 'cat') 然后 string.replace('cat', 'dog') , 我得到以下信息。

我有一只狗,但不是狗。

我有一长串要立即完成的替换,因此使用 temp 进行嵌套替换将无济于事。

最佳答案

一种使用re.sub的方式:

import re

string = "I have a dog but not a cat."

d = {"dog": "cat", "cat": "dog"}
new_string = re.sub("|".join(d), lambda x: d[x.group(0)], string)

输出:

'I have a cat but not a dog.'

关于python - 如何一次而不是顺序替换多个子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73948326/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com