救救孩子吧 python如何去掉字符串中的表情符号
如图去掉text中的符号,研究了一晚上了,也试过了网上很多方法都不行,来个大佬救救孩子吧 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)) https://zhuanlan.zhihu.com/p/440300772
这个好像可以 可以整一个只取中文 然并卵zh 发表于 2022-5-11 23:42
https://zhuanlan.zhihu.com/p/440300772
这个好像可以
也是不行 本帖最后由 1047861073 于 2022-5-12 09:18 编辑
哈哈哈哈,好巧,刚好遇到相同问题
你也应该是因为MySQL 存储不了4个字节的原因吧,
如果是可以把MySQL的字符集改成 utf8mb4 就可以了
下面代码根据 unicode 范围来删除表情符号,通用的和IOS中的,应该不是很全,也没找到非常全的list。最好还是把字段改成utf8mb4。。
下面是解决方案
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}')
1047861073 发表于 2022-5-12 09:10
哈哈哈哈,好巧,刚好遇到相同问题
你也应该是因为MySQL 存储不了4个字节的原因吧,
如果是可以把MySQL的 ...
谢谢,我是在对爬去到的数据进行导入excel处理,数据中有特殊符号导致打不开excel,所以只能做过滤处理
页:
[1]