正则过滤 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

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伊织Scope

请我喝杯伯爵奶茶~!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值