在我写的程序中,一些符号必须在整个程序中被另一个符号替换。我试过这样做,但它没有用。
for letter in word:
letter = letter.replace("a","b").replace("c","d").replace("e","f")
由于我是初学者,我要求提供全面的解决方案。 谢谢!
答案 0 :(得分:1)
您应该将此替换链应用于整个字符串,而不是单个字符:
word.replace("Ä","AE").replace("Ü","UE").replace("Ö","OE").replace("ß","SS")
你也不需要将它分成单词。
答案 1 :(得分:0)
在一次进行多次替换时,您可以考虑另一种字符串方法。
在字符串中进行多次替换时, str.replace
会更好。
str.translate
使用这些更改的映射,使它们全部替换。
teststring = "BAßÜKÖNÄ" # a made-up word
mapping = str.maketrans({"Ä":"AE", "Ü": "UE", "Ö":"OE", "ß":"SS"})
print(teststring.translate(mapping)) # BASSUEKOENAE
我认为使用translate
比使用多个replace
更容易检查,测试和维护更改。 str.maketrans
还允许使用两个大小相等的字符串,这些字符串逐字符对应,甚至第三个参数映射到您希望从字符串中消除的字符。