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