在我編寫的程序中,一些符號必須在整個程序中被另一個符號替換。我試過這樣做,但沒有奏效。在Python3中用另一個字符串的相應元素替換一個字符串的元素
for letter in word:
letter = letter.replace("a","b").replace("c","d").replace("e","f")
因爲我是初學者,所以我要求一個全面的解決方案。 謝謝!
在我編寫的程序中,一些符號必須在整個程序中被另一個符號替換。我試過這樣做,但沒有奏效。在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
也允許使用兩個相同大小的字符串,即字符對應的字符串,甚至還有第三個參數映射到您希望從字符串中消除的字符。