如何自定义unidecode?
How to customize unidecode?
我正在使用 unidecode
模块替换 utf-8
个字符。但是,有一些字符,例如希腊字母和一些符号,如 Å
,我想保留它们。我怎样才能做到这一点?
例如,
from unidecode import unidecode
test_str = 'α, Å ©'
unidecode(test_str)
给出输出 a, A (c)
,而我想要的是 α, Å (c)
。
运行 对每个字符单独进行解码。拥有一组用于绕过 unidecode 的白名单字符。
>>> import string
>>> whitelist = set(string.printable + 'αÅ')
>>> test_str = 'α, Å ©'
>>> ''.join(ch if ch in whitelist else unidecode.unidecode(ch) for ch in test_str)
'α, Å (c)'
我正在使用 unidecode
模块替换 utf-8
个字符。但是,有一些字符,例如希腊字母和一些符号,如 Å
,我想保留它们。我怎样才能做到这一点?
例如,
from unidecode import unidecode
test_str = 'α, Å ©'
unidecode(test_str)
给出输出 a, A (c)
,而我想要的是 α, Å (c)
。
运行 对每个字符单独进行解码。拥有一组用于绕过 unidecode 的白名单字符。
>>> import string
>>> whitelist = set(string.printable + 'αÅ')
>>> test_str = 'α, Å ©'
>>> ''.join(ch if ch in whitelist else unidecode.unidecode(ch) for ch in test_str)
'α, Å (c)'