python - 如何使用列表替换字符串的某些部分?

标签 python string list

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/

相关文章:

python - 如何根据值中存储的列表的第 n 个条目返回键的排序列表?

Python读取txt文件作为输入: IndexError: list index out of range?

python - 谷歌端点仅限制对移动客户端的访问

python - 有没有更好的方法将模型转换为格式良好的 JSON 字符串?

ruby - 有什么方法可以优化我在 ruby​​ 中为 String 类编写的字符计数器

c++ - L做什么的?

c++ - 我不明白我在取消分配内存时做错了什么

python - 部分拟合和热启动有什么区别?

python - 使用 Comet(长轮询)时 uwsgi 进程是否卡住了?

返回特定字母后直到下一个字母的数字的正则表达式