- emoji 网站:https://emojipedia.org
- emoji unicode 表:https://unicode-table.com/cn/emoji/
emoji – unicode
过滤掉文本中的 emoji,我们可以使用正则筛选出 emoji 对应的unicode
如果遇到 emoji,不知道对应的 unicode,或相反,可以使用 https://unicode-table.com/cn/emoji/ 来查询。
也可以通过代码打印:
# 根据 emoji 打印unicode
s1 = '🤗'
print(s1, ' | ',s1.encode('unicode-escape')) # b'\\U0001f917'
# 根据 unicode 打印 emoji
s2 = '\U0001f004'
print(s2) # 🀄
过滤 emoji
查询出来有效的过滤 emoji 的方法/正则,都比较有限。常用的 emoji 没有采用连续的 unicode 编码,如果我们贸然去掉一系列的 unicode,可能会将一些日语字符去掉。你可以根据需要,制定相应的过滤字符。
下面是我整理的一些uicode 正则,建议测试后使用:
(这个正则主要处理emoji符号,数值、各语言字母不会处理)
pat_emoji = '[\U0001f0a0-\U0001f0ff\U0001f170-\U0001f19a\U0001f300-\U0001faff\u2190-\u21FF\u2300-\u23FF\u2500-\u26FF\u2700-\u27BF\u27F0-\u27FF\u2900-\u297F\u2B00-\u2BFF]+'
def rm_emoji(text):
text = re.subn(pat_emoji, ' ', text)[0]
return text.strip()
print('-- pat_emoji : ', pat_emoji )
text = '''⏫🥲 今天是开心的一天 🤗 ©🅰🅱 ‼🆚↔÷↙⏯'''
print(re.findall(pat_emoji, text) )
print('\n-- clean : ', rm_emoji(text))
2022-09-13