如何更改python字符串,例如替换一个单词而不是另一个单词?

时间:2018-11-03 12:20:16

标签: python python-3.7

这里的问题是,我有python字符串,例如“我爱爸爸,我爱妈妈”。在这个字符串中,我想要的是“我爱妈妈,我爱爸爸”。

这是python字符串

TypeError: expected string or bytes-like object

这里的输出是:我爱妈妈,我爱妈妈

但是我需要的输出是:我爱妈妈,我爱爸爸

1 个答案:

答案 0 :(得分:1)

使用替换内容创建字典

replacements = {
    'daddy': 'mom',
    'mom': 'daddy',
}

创建一个函数以基于匹配对象从dict返回正确的替换内容:

def find_replacement(m):
    return replacements[m.group(1)]

然后使用re.sub

text = "I love daddy and I love mom"
regex = r'({})'.format(r'|'.join(re.escape(w) for w in replacements))
result = re.sub(regex, find_replacement, text)
print(result)