规范特殊字符字体

时间:2019-04-28 15:37:01

标签: python python-3.x unicode

我正在创建需要将用户的昵称存储为字符串的机器人,但是有些用户的昵称中有一个特殊字符,例如或Ⓑⓛⓐⓒⓚ。我该如何将其转换为常规字符,而不用编写世界上所有字体的巨型词典?

2 个答案:

答案 0 :(得分:2)

您可以使用unidecode

from unidecode import unidecode
print (unidecode("  or Ⓑⓛⓐⓒⓚ ⓇⒶⓥⓔⓝ"))

输出:

Black RAven or Black RAven

答案 1 :(得分:1)

stdlib解决方案

>>> import unicodedata
>>> unicodedata.normalize('NFKD', '  ')
'Black RAven '
>>>

我个人可能会做类似的事情

>>> from functools import partial
>>> normalize = partial(unicodedata.normalize, 'NFKD')
>>> normalize('  ')
'Black RAven '
>>>

NFKD