吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1745|回复: 6
收起左侧

[求助] 救救孩子吧 python如何去掉字符串中的表情符号

[复制链接]
杨氏 发表于 2022-5-11 23:28
25吾爱币
如图去掉text中的符号,研究了一晚上了,也试过了网上很多方法都不行,来个大佬救救孩子吧
111.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

tsu.xxw 发表于 2022-5-11 23:28
[Python] 纯文本查看 复制代码
word='你好\ud83d\udc90啊'
import re

def filter_emoji(desstr, restr=''):
    # 过滤表情
    res = re.compile(u'[\U00010000-\U0010ffff\\uD800-\\uDBFF\\uDC00-\\uDFFF]')
    return res.sub(restr, desstr)

print(filter_emoji(word))

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
杨氏 + 1 + 1 谢谢@Thanks!

查看全部评分

然并卵zh 发表于 2022-5-11 23:42
LuoShang 发表于 2022-5-11 23:42
 楼主| 杨氏 发表于 2022-5-12 08:53
然并卵zh 发表于 2022-5-11 23:42
https://zhuanlan.zhihu.com/p/440300772
这个好像可以

也是不行
花不开但要富贵 发表于 2022-5-12 09:10
本帖最后由 1047861073 于 2022-5-12 09:18 编辑

哈哈哈哈,好巧,刚好遇到相同问题
你也应该是因为MySQL 存储不了4个字节的原因吧,
如果是可以把MySQL的字符集改成 utf8mb4 就可以了
下面代码根据 unicode 范围来删除表情符号,通用的和IOS中的,应该不是很全,也没找到非常全的list。最好还是把字段改成utf8mb4。。



下面是解决方案
[Python] 纯文本查看 复制代码
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)
    u"\u2600-\u26FF\u2700-\u27BF]"
    "+", flags=re.UNICODE)


def remove_emoji(text):
    return emoji_pattern.sub(r'', text)


text2 = '你好\ud83d\udc90啊'
done = remove_emoji(text2)
print(f'处理后的文字:\n{done}')
 楼主| 杨氏 发表于 2022-5-12 09:34
1047861073 发表于 2022-5-12 09:10
哈哈哈哈,好巧,刚好遇到相同问题
你也应该是因为MySQL 存储不了4个字节的原因吧,
如果是可以把MySQL的 ...

谢谢,我是在对爬去到的数据进行导入excel处理,数据中有特殊符号导致打不开excel,所以只能做过滤处理
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 13:12

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表