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

时间:2017-11-10 23:09:50

标签: python python-3.x

在我写的程序中,一些符号必须在整个程序中被另一个符号替换。我试过这样做,但它没有用。

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

由于我是初学者,我要求提供全面的解决方案。 谢谢!

2 个答案:

答案 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还允许使用两个大小相等的字符串,这些字符串逐字符对应,甚至第三个参数映射到您希望从字符串中消除的字符。