2012-10-03 94 views
1

我必須用各自非重音字母替換字符串中的重音字符範圍。 我正在考慮使用re.sub,但我不知道如何同時替換更多項目(每個項目都有不同的項目)。 所以更清晰:Re.sub python-同時替換更多項目

所有的
import re 
re.sub(r'è|ù|ò|à','e,u,o,a',string). 

首先是這讓在Python因此要避免使每個字母單獨的行? 謝謝!

回答

1

re.sub()可以接受一個函數作爲替代,所以你可以做類似如下:

reps = dict(zip('èùòà', 'euoa')) 
re.sub(r'è|ù|ò|à', lambda m: reps[m.group(0)], some_string) 

例子:

>>> re.sub(r'è|ù|ò|à', lambda m: reps[m.group(0)], 'à ò ù è') 
'a o u e' 
+0

非常感謝你。 – user1718064