У меня есть список символов Unicode из пакета emoji
. Моя конечная цель состоит в том, чтобы создать функцию, которая принимает в качестве входных данных в кодировке Unicode строку, т.е. some??thing
, а затем удаляет все эмодзи, т.е. "something"
. Ниже приведена демонстрация того, чего я хочу достичь:
from emoji import UNICODE_EMOJI
text = 'some??thing'
exclude_list = UNICODE_EMOJI.keys()
output = ... = 'something'
Я пытался сделать вышеупомянутое, и в этом процессе я столкнулся со странным поведением, которое я демонстрирую ниже, как вы можете видеть. Я верю, что если приведенный ниже код исправлен, я смогу достичь своей конечной цели.
import regex as re
print u'\U0001F469' # ?
print u'\U0001F60C' # ?
print u'\U0001F469\U0001F60C' # ??
text = u'some\U0001F469\U0001F60Cthing'
print text # some??thing
# Removing "??" works
print re.sub(ur'[\U0001f469\U0001F60C]+', u'', text) # something
# Removing only "?" doesn't work
print re.sub(ur'[\U0001f469]+', u'', text) # some�thing