Нормализовать шрифт специальных символов - PullRequest
0 голосов
/ 28 апреля 2019

Я создаю ботов, которым необходимо запоминать псевдонимы пользователей в виде строки, но у некоторых пользователей в псевдонимах есть специальные символы, такие как ????? ????? или Ⓑⓛⓐⓒⓚ ⓇⒶⓥⓔⓝ. Как я могу сделать, чтобы преобразовать его в обычные символы, не делая гигантский словарь со всеми шрифтами в мире?

Ответы [ 2 ]

2 голосов
/ 28 апреля 2019

Вы можете использовать unidecode.

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

Выход:

Black RAven or Black RAven
1 голос
/ 28 апреля 2019

стандартное решение

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

Лично я бы, наверное, сделал что-то вроде

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

NFKD

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...