python过滤文本中的emoji表情

最近在处理文本内容的时候发现很多文本会有特色表情,由于占位较多,想着能过滤掉就好,也不影响文本内容含义,并且对后续做语义分析也有帮助。
网上搜了下,总体还是通过正则匹配过滤表情,因为表情字符在unicode中有对应对编码集。
比较多的搜索结果采用如下的正则:

import redef filter_emoji(content):try:cont = re.compile(u'[\U00010000-\U0010ffff]')except re.error:cont = re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]')return cont.sub(u'', content)

但是在实际应用中发现以上方法过滤不彻底,还会有部分表情保留下来,故此又找到了如下方法:

import redef filter_emoji(content):try:# Wide UCS-4 buildcont = re.compile(u'['u'\U0001F300-\U0001F64F' u'\U0001F680-\U0001F6FF'u'\u2600-\u2B55]+')except re.error:# Narrow UCS-2 buildcont = re.compile(u'('u'\ud83c[\udf00-\udfff]|'u'\ud83d[\udc00-\ude4f\ude80-\udeff]|'u'[\u2600-\u2B55])+')return cont.sub (u'', content)

此方法效果相对较好,前一种方法不能过滤的表情也能很好过滤。其原因也很好理解,无外乎前一种方法的正则匹配编码覆盖不全,所以有漏掉的表情未过滤。
最后,这里也对后一种方法所匹配对正则编码做一说明:

<U+1F300> - <U+1F5FF>      # symbols & pictographs
<U+1F600> - <U+1F64F>      # emoticons
<U+1F680> - <U+1F6FF>      # transport & map symbols
<U+2600>  - <U+2B55>       # other

后一种方法的参考来源:Emoji的编码以及常见问题处理
非常感谢!!

python过滤文本中的emoji表情相关推荐

  1. android 过滤emoji表情符号,android怎样过滤字符串中的emoji表情

    满意答案 jdubysct 2016.03.15 采纳率:43%    等级:8 已帮助:863人 解决方案 对于字符串处理,首选就是正则表达式去处理,而在android系统中可以自定义InputFi ...

  2. 过滤字符串中的Emoji表情

    iOS 5.0之前,苹果都是采用3个字节来承接 emoji 表情,Java 的普通 char 可以支持显示.但 iOS 5.0 之后, 苹果升级了系统自带的 emoji 表情输入法,用的 Unicod ...

  3. python 清除字符串中的 emoji 表情

    https://pypi.org/project/emoji/ pip install emoji 字符串中间有 emoji 表情,替换掉. text = "

  4. python 过滤文本中的标点符号(转)

    网上搜到的大都太复杂,最后找到一个用正则表达式实现的: import re s = "string. With. Punctuation?" # 如果空白符也需要过滤,使用 r'[ ...

  5. 在博客中插入emoji表情

    在博客Markdown编辑器中插入emoji表情? 利用三种不同方法在博客.网页.markdown编辑器中插入emoji表情.? 在写博客时,经常希望能够用一些表情表达自己想法,但是默认的markdo ...

  6. 微信小程序中使用emoji表情相关说明

    本帖将聚合一些跟emoji表情有关的知识:前端传过来的昵称和备注信息一定要经过严格的正则表达式过滤,放置出现XSS等攻击,另外emoji字体表情库应该使用base64_encode编码,拿信息的时候b ...

  7. markdown中添加Emoji表情让文章更有趣味

    markdown表情 在文章中添加Emoji表情,可以添加文章的趣味性,Emoji使用规则是双::中间加单词 查看全文 http://www.taodudu.cc/news/show-4737612. ...

  8. php转换emoji表情为图片输出小程序,微信小程序中使用emoji表情相关说明

    本帖将聚合一些跟emoji表情有关的知识:相关文章:"i爱记账" 小程序后端开发小结 第7条经验前端传过来的昵称和备注信息一定要经过严格的正则表达式过滤,放置出现XSS等攻击,另外 ...

  9. PHP处理微信中带Emoji表情的消息发送和接收(Unicode字符转码编码)

    在进行微信公众号开发者接入的时候,与用户的对话互动中,涉及到的文本信息不仅仅是文字那么简单,其中可能还会包含着各种表情字符,例如「emoji表情」. 百科:  Emoji 由于微信接口中对于emoji ...

最新文章

  1. 【Extjs】large按钮,图片全部覆盖按钮
  2. matplotlib-plot-绘制折线图
  3. Asp.Net分页控件
  4. java自我复制_原型模式--自我复制(结合Java浅复制与深复制)
  5. 语法糖 python_Python___语法糖
  6. Java System类loadLibrary()方法与示例
  7. 栈-迷宫求解路径问题
  8. Algorithms Part 1-Question 6- 2SUM Median-数和以及中位数问题
  9. linux ulimit调优
  10. 计蒜客挑战难题:A+B+C问题
  11. (键盘)代码 19:由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备 解决方法...
  12. 【转】SQL SERVER 开窗函数简介
  13. 【codevs1506】传话
  14. 数据库基础知识(MySQL入门)
  15. 软件测试基础-概念(视频教程)
  16. 【学习笔记】C# 动态系统托盘图标的实现 - NotifyIcon控件
  17. 80后的北漂IT人:你的未来在哪?该做好打算了!
  18. java 二进制报文头_使用Netty收发二进制报文问题记
  19. 企业微信裂变玩法有哪些?需要使用哪些工具?
  20. CREO:CREO软件之零件【渲染】之对三维零件实现渲染图文教程之详细攻略

热门文章

  1. 主流浏览器汇总(火狐,OPera,safari,谷歌等)
  2. 怎么查看服务器的端口号啊?
  3. 如何检测远程服务器端口是否打开,如何远程查看服务器端口是否打开
  4. callback例子
  5. Linux vim保存只读文件
  6. 他从小就在家乡学木工,创办公司,实现人生价值
  7. Java程序设计:五子棋(三)——悔棋
  8. 华领区块链CNS积分,即将彻底改变我们的商业模式!
  9. where条件查询语句
  10. 【首尔大学韩国语】十九课 生日