namelist = ['John', 'Maria']
e_text = 'John is hunting, Maria is cooking'
我需要替换“John”和“Maria”。我该怎么做?
我试过:
for name in namelist:
if name in e_text:
e_text.replace(name, 'replaced')
但它只适用于“John”。输出是:'替换为打猎,Maria 正在做饭'。如何替换这两个名称?
谢谢。
最佳答案
字符串在 Python 中是不可变的,因此替换不会修改字符串,只会返回修改后的字符串。您应该重新分配字符串:
for name in namelist:
e_text = e_text.replace(name, "replaced")
您不需要 if name in e_text
检查,因为如果找不到,replace
已经不执行任何操作。
关于python - 如何使用列表替换字符串的某些部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65581766/