gpt4 book ai didi

python - 从 python 列表中提取所有可能的表情符号

转载 作者:行者123 更新时间:2023-11-28 18:19:27 25 4
gpt4 key购买 nike

目标

我正在尝试从 unicode 单词列表中提取所有可能的表情符号。我在安装 anaconda 时使用 Python3,因此我不能使用像 emoji.py 这样的包。

这是单词列表的示例弓。

lst = ['✅','türkçe','Çile','ısp','İst','ğ','some','#','@','@one','#thing','','1','41','ç','ö','⏱','⏱','👏','₺','€',':)',':/']

预期的输出是这样的:

out = ['✅','⏱', '⏱','👏']

尝试 1

列表推导式以检查所有字符是否都是 ASCII:

[w for w in lst if len(w) != len(w.encode())]

但是,这并没有给出所需的输出,因为文本中有非 ASCII 字母。此外,货币符号不是表情符号。

['✅', 'türkçe', 'Çile', 'ısp', 'İst', 'ğ', 'ç', 'ö', '⏱', '⏱', '👏', '₺', '€']

尝试 2

使用NTLK表情正则表达式

from nltk.tokenize.casual import EMOTICON_RE
EMOTICON_RE.findall(' '.join(lst))

但是EMOTICON_RE只能提取:) :/ :(

这是我要考虑的列表 emoticons .

我试图构建一个表情符号列表以查看我的单词是否存在于该列表中,但我无法从 unicode 字符代码构建表情符号列表。

你能推荐一下吗?

最佳答案

我认为所有这些字符都在 Symbol, other category .因此你可以这样做

[w for w in lst if any(c for c in w if unicodedata.category(c) == 'So')]

关于python - 从 python 列表中提取所有可能的表情符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46178487/

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