What would be the best way to accomplish that?
http://en.wikipedia.org/wiki/Eastern_Arabic_numerals
use unicode.translate
with ordinal mapping:
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.
Example:
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)
output:
u'some 012 of 345 it 67 is 89 normal text'
Like this:
eastern_to_western = {"٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9"}
int(''.join([eastern_to_western[c] for c in '٧٧٧٣']))
7773
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With