实现这一目标的最佳方法是什么?
问问题
1938 次
2 回答
11
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'
于 2013-01-24T16:59:00.780 回答
2
像这样:
eastern_to_western = {"٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9"}
int(''.join([eastern_to_western[c] for c in '٧٧٧٣']))
7773
于 2013-01-24T16:45:45.180 回答