gpt4 book ai didi

python - 在 Python 中拆分和计算给定字符串中的表情符号和单词

转载 作者:行者123 更新时间:2023-12-04 03:01:10 24 4
gpt4 key购买 nike

对于给定的字符串,我试图计算每个单词和表情符号的出现次数。我已经做了here对于仅由 1 个表情符号组成的表情符号。问题是现在很多表情符号都是由几个表情符号组成的。

比如表情包👨‍👩‍👦‍👦由四个表情包组成-👨‍👩‍👦‍👦,还有人肤色的表情包,比如🙅🏽是🙅🏽等等。

问题归结为如何以正确的顺序拆分字符串,然后计算它们就很容易了。

有一些很好的问题解决了同样的问题,比如 link1link2 ,但它们都不适用于通用解决方案(或者解决方案已过时,或者我无法弄清楚)。

例如,如果字符串是 hello 👩🏾‍🎓 emoji hello 👨‍👩‍👦‍👦,那么我将有 {'hello':2, 'emoji ':1, '👨‍👩‍👦‍👦':1, '👩🏾‍🎓':1}我的字符串来自 Whatsapp,并且都是用 utf8 编码的。

我有很多失败的尝试。帮助将不胜感激。

最佳答案

非常感谢Mark Tolonen .现在为了计算给定字符串中的单词、表情符号和单词,我将使用 emoji.UNICOME_EMOJI为了确定什么是表情符号,什么不是(来自 emoji 包),然后从字符串中删除表情符号。

目前不是一个理想的答案,但它有效,如果它会被改变我会编辑。

import emoji
import regex
def split_count(text):
total_emoji = []
data = regex.findall(r'\X',text)
flag = False
for word in data:
if any(char in emoji.UNICODE_EMOJI for char in word):
total_emoji += [word] # total_emoji is a list of all emojis

# Remove from the given text the emojis
for current in total_emoji:
text = text.replace(current, '')

return Counter(text.split() + total_emoji)


text_string = "👹👹👹👹👹here hello world hello👨‍👩‍👦‍👦🙅🏽"
final_counter = split_count(text_string)

输出:

final_counter
Counter({'hello': 2,
'here': 1,
'world': 1,
'👨\u200d👩\u200d👦\u200d👦': 1,
'👹': 5,
'🙅🏽': 1})

关于python - 在 Python 中拆分和计算给定字符串中的表情符号和单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49113909/

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