2012-10-03 43 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