gpt4 book ai didi

python - 从句子字符串中剥离所有表情符号

转载 作者:太空宇宙 更新时间:2023-11-04 05:04:59 26 4
gpt4 key购买 nike

工作环境Python版本:

Python 3.6.1

我已经在 StackOverflow 和互联网上的其他地方尝试了此处概述的多种方法 - 但我似乎仍然无法正常工作。

我可以有任何字符串...表情符号可能会或可能不会被空格包围,可能在 "内或在主题标签之后等等...无论如何,这些情况给我带来了一些麻烦。

这是我的:

import sys
sys.maxunicode

emoji_pattern = re.compile("["
u"\U0001F600-\U0001F64F"
u"\U0001F300-\U0001F5FF"
u"\U0001F680-\U0001F6FF"
u"\U0001F1E0-\U0001F1FF"
"]+", flags=re.UNICODE)

text = "" #This could be any text with or without emojis
text = emoji_pattern.sub(r'', text)

然而,上面的内容在显示或打印时仍然在文本中包含表情符号。

text是一个 unicode 字符串,即 type(text)返回 <type 'unicode'>

那我错过了什么?我好像还剩下表情符号。我也更喜欢一种方法,它反射(reflect)了这些 Unicode 名称可以在未来扩展,所以我宁愿只使用一种方法来保留所有常规字符。

将文本编码为 'unicode_escape'给出以下内容:

b'[1/2] Can you see yourself as Prompto or Aranea?\\nGet higher quality images from our FB page \\n\\u2b07\\ufe0f\\u2026'

原始未格式化的文本是:

[1/2] Can you see yourself as Prompto or Aranea?
Get higher quality images from our FB page
⬇️…

最佳答案

不确定您认为 sys.maxunicode 的作用,但您的代码适用于 Python 3.6。您确定涵盖了所有表情符号范围吗?

import re

emoji_pattern = re.compile("["
u"\U0001F600-\U0001F64F"
u"\U0001F300-\U0001F5FF"
u"\U0001F680-\U0001F6FF"
u"\U0001F1E0-\U0001F1FF"
"]+", flags=re.UNICODE)

text = 'Actual text with emoji: ->\U0001F620\U0001F310\U0001F690\U0001F1F0<-'
print(text)
text = emoji_pattern.sub(r'', text)
print(text)

输出:

Actual text with emoji: ->😠🌐🚐🇰<-
Actual text with emoji: -><-

请注意,flags=re.UNICODE 是 Python 3.6 中的默认值,因此不需要。 Unicode 字符串也是默认的,所以 u"xxxx" 可以只是 "xxxx"

关于python - 从句子字符串中剥离所有表情符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44749290/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com