Re.sub python-同时更换更多项目

时间:2012-10-03 18:50:27

标签: regex

我必须用相应的非重音字母替换字符串中的一系列重音字符。 我正在考虑使用re.sub,但我不知道如何同时替换更多项目(每个项目都有不同的项目)。 所以更清楚:

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

首先,这是允许在Python中允许,以避免为每个字母单独行? 谢谢!

1 个答案:

答案 0 :(得分: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'