python 怎么过滤 emoji 表情符号

Python012

def filter_emoji(desstr,restr=''):  

    try:  

        co = re.compile(u'[\U00010000-\U0010ffff]')  

    except re.error:  

        co = re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]')  

    return co.sub(restr, desstr)

import re

emoji_pattern = re.compile(

    u"(\ud83d[\ude00-\ude4f])|"  # emoticons

    u"(\ud83c[\udf00-\uffff])|"  # symbols & pictographs (1 of 2)

    u"(\ud83d[\u0000-\uddff])|"  # symbols & pictographs (2 of 2)

    u"(\ud83d[\ude80-\udeff])|"  # transport & map symbols

    u"(\ud83c[\udde0-\uddff])"  # flags (iOS)

    "+", flags=re.UNICODE)def remove_emoji(text):

    return emoji_pattern.sub(r'', text)

来自:http://blog.csdn.net/orangleliu/article/details/67632628?utm_source=gold_browser_extension

上面那个有时不好用,

try:  

        # python UCS-4 build的处理方式  

        highpoints = re.compile(u'[\U00010000-\U0010ffff]')  

except re.error:  

        # python UCS-2 build的处理方式  

         highpoints = re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]')  

  

resovle_value = highpoints.sub(u'??', src_string)

尝试一下这个。

可以使用Rich 制作太阳表情。它是一个 Python 库,可以为您在终端中提供富文本和精美格式。Rich API可以很容易的在终端输出添加各种颜色和不同风格。Rich 还可以绘制漂亮的表格,进度条,markdown,突出显示语法的源代码及回溯等等,不胜枚举。Rich 适用于 Linux,OSX 和 Windows。真彩色/表情符号可与新的 Windows 终端一起使用,Windows 的经典终端仅限 8 种颜色。Rich 还可以与Jupyter 笔记本一起使用,而无需其他配置。有时候在代码中加入一些有趣的操作可以使得友好度 UP 好几个 LEVEL,正好了解到 Python 支持 emoji 表情的输出,实现方式相当简单。