在Python3中用另一个字符串的相应元素替换一个字符串的元素

问题描述:

在我编写的程序中,一些符号必须在整个程序中被另一个符号替换。我试过这样做,但没有奏效。在Python3中用另一个字符串的相应元素替换一个字符串的元素

for letter in word: 
    letter = letter.replace("a","b").replace("c","d").replace("e","f") 

因为我是初学者,所以我要求一个全面的解决方案。 谢谢!

您应该将此链置换的整个字符串,而不是单个字符:

word.replace("Ä","AE").replace("Ü","UE").replace("Ö","OE").replace("ß","SS") 

你并不需要把它拆分成词对于这一点,无论是。

还有另外一种字符串方法,您可以在同时进行多次替换时考虑。

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很容易检查,测试和维护的变化,比使用多个replacestr.maketrans也允许使用两个相同大小的字符串,即字符对应的字符串,甚至还有第三个参数映射到您希望从字符串中消除的字符。