文档章节

python 表情过滤

okker
 okker
发布于 2014/01/02 10:00
字数 240
阅读 3397
收藏 4

注意替换的这些emoji是标准的表情字符,每个表情本来是2个字节,替换成字符串后,每个表情就变成12个字符了,浪费了很多空间,不过简单,不需要专门写个map一一对应了;

把表情变成字符串

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)

把字符串变成表情

def str_2_emoji(emoji_str):
    '''
    把字符串转换为表情
    '''
    if not emoji_str:
        return emoji_str
    h = HTMLParser.HTMLParser()
    emoji_str = h.unescape(h.unescape(emoji_str))
    #匹配u"\U0001f61c"和u"\u274c"这种表情的字符串
    co = re.compile(ur"u[\'\"]\\[Uu]([\w\"]{9}|[\w\"]{5})")
    pos_list=[]
    result=emoji_str
    #先找位置
    for m in co.finditer(emoji_str):
        pos_list.append((m.start(),m.end()))
    #根据位置拼接替换
    for pos in range(len(pos_list)):
        if pos==0:
            result=emoji_str[0:pos_list[0][0]]
        else:
            result=result+emoji_str[pos_list[pos-1][1]:pos_list[pos][0]]
        result = result +eval(emoji_str[pos_list[pos][0]:pos_list[pos][1]])
        if pos==len(pos_list)-1:
            result=result+emoji_str[pos_list[pos][1]:len(emoji_str)]
    return result



© 著作权归作者所有

共有 人打赏支持
okker
粉丝 8
博文 37
码字总数 18977
作品 0
东城
程序员
一个很皮的实践 Python自动生成表情包

作为一个数据分析师,应该信奉一句话----"一图胜千言"。不过这里要说的并不是数据可视化,而是一款全民向的产品形态----表情包!!!! 不仅仅是一种符号,更是一种文化;是促进社交乃至社会...

j2iayu7y
04/16
0
0
用 python 爬取微博评论并手动分词制作词云

最近上海好像有举行个什么维吾尔族的秘密时装秀,很好看的样子,不过我还没时间看。但是微博上已经吵翻了天,原因是 好吧,这不是我们关心的,我的心里只有学习 Python 爬虫 本次爬取的是这条...

teaGod
2017/11/23
0
0
Python多线程爬图&Scrapy框架爬图

一、背景 对于日常Python爬虫由于效率问题,本次测试使用多线程和Scrapy框架来实现抓取斗图来表情。 由于IO操作不使用CPU,对于IO密集(磁盘IO/网络IO/人家交互IO)型适合用多线程,对于计算...

KaliArch
08/21
0
0
精选26个Python实用技巧,想秀技能先Get这份技术列表!

作者 | Peter Gleeson 译者 | 婉清 编辑 | Jane 出品 | AI科技大本营 【导读】Python 虽然是脚本语言,但是因为其易学,迅速成为科学家的工具,从而积累了大量的工具库、架构,人工智能涉及大...

AI科技大本营
09/09
0
0
用Python从多个文件中过滤某个字段的操作

北京-greenday(197195824) 10:58:38 请问一下 我当前目录下 有很多日志,命名格式为Connect.log.2013-07-01 一直到Connect.log.2013-07-24 我想从这些日志里面去过滤一个字段 '余额不足' 应该...

雷神雨石
2013/07/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

elastic search+kibana 5.6.12安装指南

前提准备: 1,安装jdk, We recommend installing Java version 1.8.0_131 or later. 2, 设置文件最大打开数(使用命令ulimit -n查看) ulimit -n 65536 3, 创建用户elastic/用户组elastic gro...

PageYi
18分钟前
1
0
安装mongodb碰到error: unpacking of archive failed on file /etc/init.d/mongod;5bcec214: cpio: open如何解决

今用yum安装mongodb4.0.3发现一个错误,当用yum install 安装mongo-org 时除了mongodb-org-server 没有安装以外其他的都安装正确,重新安装mongodb-org-server 时报如下错误信息 在一篇老外 ...

chanking
20分钟前
1
0
O2OA:企业办公数字化转型的更佳选择

在全球都在积极探索由新一轮信息技术所引发的第四次工业革命时,一场激发企业内生动力的数字化运动在互联网企业和传统企业之间却呈现出两种截然不同的状态。   传统企业办公数字化不彻底仍...

超能之法师
22分钟前
1
0
基于SylixOS 对 Goahead 进行配置使用 OpenSSL

1. 编译并部署OpenSSL SylixOS支持OpenSSL,git地址为:http://git.sylixos.com/repo/openssl.git 获取OpenSSL工程源码后,导入RealEvo-IDE中编译,编译完成后生成动态库文件和openssl可执行...

Baiqq
25分钟前
1
0
nginx+tomcat均衡负载

一、安装好nginx环境,启动至少两个的tomcat服务; 此处tomcat访问地址为:http://192.168.106.128:1000/、http://192.168.106.128:1001/、http://192.168.106.128:1002/ 二、修改nginx配置文...

狼王黄师傅
26分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部