【python】过滤特殊字符(emoji)

前提背景:
通过接口获取到的数据,要存入数据库,由于数据库的编码问题,一些特殊字符出现错误,无法进入数据库

解决办法:
过滤掉这些特殊字符,包含emoji表情等各种特殊字符

剔除除中英文及数字外的其他任何字符

impoer re
def filter_str(desstr,restr=''):
    #过滤除中英文及数字以外的其他字符
    res = re.compile("[^\u4e00-\u9fa5^a-z^A-Z^0-9]")
    return res.sub(restr, desstr)

emoji表情库

【方法1】:
emoji处理库,emoji官网:https://pypi.org/project/emoji/

#安装 
pip install emoji

【python】过滤特殊字符(emoji)_第1张图片

# 清除命令
emoji.demojize(str)

【方法2】:

import re
def filter_emoji(desstr,restr=''):  
    #过滤表情   
    try:  
        res= re.compile(u'[\U00010000-\U0010ffff]')  
    except re.error:  
        res = re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]')  
    return res.sub(restr, desstr)
# 打印所有字符
for i in range(0x0,0x10ffff):
    print(chr(i),end=" ")
    if i%16==15:
        print()

你可能感兴趣的:(python-遇到的坑)