1

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

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

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

4

1 回答 1

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'
于 2012-10-03T18:54:55.790 回答