使用顺序映射的unicode.translate:
S.translate(table) -> unicode
Return a copy of the string S, where all characters have been mapped
through the given translation table, which must be a mapping of
Unicode ordinals to Unicode ordinals, Unicode strings or None.
Unmapped characters are left untouched. Characters mapped to None
are deleted.
例:
table = {1776: 48, # 0
1777: 49, # 1
1778: 50, # 2
1779: 51, # 3
1780: 52, # 4
1781: 53, # 5
1782: 54, # 6
1783: 55, # 7
1784: 56, # 8
1785: 57} # 9
u'some ۰۱۲ of ۳۴۵ it ۶۷ is ۸۹ normal text'.translate(table)
输出:
u'some 012 of 345 it 67 is 89 normal text'