首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从字符串中删除表情符号在某些情况下不起作用

从字符串中删除表情符号在某些情况下不起作用
EN

Stack Overflow用户
提问于 2021-10-13 11:23:08
回答 2查看 118关注 0票数 2

我正在处理从谷歌大查询收到的一些数据,其中包含一些特殊的表情符号的数据。我有一个删除表情符号的代码,但它不适用于下面的特定表情符号。

删除所有表情符号的示例代码,但不适用于以下情况。

使用version Python 3.9

代码语言:javascript
运行
复制
from re import UNICODE, compile
emoji_pattern = compile("["
                        u"\U0001F600-\U0001F64F"  # emoticons
                        u"\U0001F300-\U0001F5FF"  # symbols & pictographs
                        u"\U0001F680-\U0001F6FF"  # transport & map symbols
                        u"\U0001F1E0-\U0001F1FF"  # flags (iOS)
                        u"\U0001F1F2-\U0001F1F4"  # Macau flag
                        u"\U0001F1E6-\U0001F1FF"  # flags
                        u"\U0001F600-\U0001F64F"
                        u"\U00002702-\U000027B0"
                        u"\U000024C2-\U0001F251"
                        u"\U0001f926-\U0001f937"
                        u"\U0001F1F2"
                        u"\U0001F1F4"
                        u"\U0001F620"
                        u"\u200d"
                        u"\u2640-\u2642"
                        "]+", flags=UNICODE)

# Works for this one 
data = 'support.google.co.uk/s/.?'
result = emoji_pattern.subn(r'', data)
# result --> ('support.google.co.uk/s/.', 1)

# Doesn't work in this case
data = 'www.google.co.uk/??'
result = emoji_pattern.subn(r'', data)
# result --> ('www.google.co.uk/??', 0)

有人能帮我处理这个案子吗。另外,如果有人能帮助我如何检查?(任何特殊字符或表情符号)在Python3.9中的Unicode表示,这将是非常有帮助的,这样我就可以在emoji模式中更新这样的unicode。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-13 11:45:39

查看this answeremoji python包似乎是解决这个问题的最佳方法。

要将任何表情/字符转换为UTF-8,请执行以下操作:

代码语言:javascript
运行
复制
import emoji
s = '?'
print(s.encode('unicode-escape').decode('ASCII'))

它将打印\U0001f600

票数 4
EN

Stack Overflow用户

发布于 2021-10-14 09:32:45

修改后的表情模式列表仅供参考。

代码语言:javascript
运行
复制
emoji_pattern = compile("["
                        u"\U0001F600-\U0001F64F"  # emoticons
                        u"\U0001F300-\U0001F5FF"  # symbols & pictographs
                        u"\U0001F680-\U0001F6FF"  # transport & map symbols
                        u"\U0001F1E0-\U0001F1FF"  # flags (iOS)
                        u"\U00002702-\U000027B0"
                        u"\U000024C2-\U0001F251"
                        u"\U0001f926-\U0001f937"
                        u"\U0001F1F2"
                        u"\U0001F1F4"
                        u"\U0001F620"
                        u"\u200d"
                        u"\u2640-\u2642"
                        u"\u2600-\u2B55"
                        u"\u23cf"
                        u"\u23e9"
                        u"\u231a"
                        u"\ufe0f"  # dingbats
                        u"\u3030"
                        u"\U00002500-\U00002BEF"  # Chinese char
                        u"\U00010000-\U0010ffff"
                        "]+", flags=UNICODE)

谢谢

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69554621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档