替换函数,如何给"b"多个值赋值?

Replace function, how to assign "b" multiple values?

我的问题很小,就是无法进行正常的字母替换。我知道 .replace 命令,但我似乎无法正确使用它。

例如:我的k##yb0%%rd是br###k##n。 ### 应替换为 o,## 应替换为 e,%% 应替换为 a。谢谢!

a = input("What did she say? ")
b = a.replace("###", "o")
print(b)

您可以尝试这样的操作:

a = input("What did she say? ")
d = {'###':'o', '##':'e','%%':'a'}
for k,v in d.items():
    a = a.replace(k, v)
b = a # if you need value in b variable
print(b)

您可以创建这样的字典并使用它来替换多个值。请务必妥善整理您的词典。

作为第一件事,我建议阅读 Python 的 str.replace 文档。


我建议这样:

b = a.replace("###", 'o').replace("##", 'e').replace("%%", 'a')

这是可能的,因为 a.replace("###", 'o')returned 值是类型 str,因此方法 replace 也可以应用于它。


如果您不知道哪些字符将被替换,您应该按照 Vaibhav 的建议进行操作,创建一个 dict 将旧字符(键)与新字符(值)相关联。


更重要的是str是一个不可变的type,所以你不能只做

a.replace("###", 'o').replace("##", 'e').replace("%%", 'a')

但无论如何,您不必将返回值分配给 b,您不能毫无问题地将它重新分配给 a

a = a.replace("###", 'o').replace("##", 'e').replace("%%", 'a')

你也可以直接print它。