这里的问题是,我有python字符串,例如“我爱爸爸,我爱妈妈”。在这个字符串中,我想要的是“我爱妈妈,我爱爸爸”。
这是python字符串
TypeError: expected string or bytes-like object
这里的输出是:我爱妈妈,我爱妈妈
但是我需要的输出是:我爱妈妈,我爱爸爸
答案 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)