【问题标题】:Function doesn't count emojis功能不计算表情符号
【发布时间】:2022-01-12 19:32:54
【问题描述】:

执行此代码时我得到 s=0 结果:

import emojis
import emoji
from collections import Counter

#count emoji
#function to check if sth is an emoji
def char_is_emoji(character):
    return character in emoji.UNICODE_EMOJI

#function to count emoji
def emoji_counter(text_string):
    count = 0
    for x in text_string:
        a = char_is_emoji(x)
        if a ==True:
            count+=1
    return count

#test
s = "???????? Last clue! \nWho's the host of"
print(emoji_counter(s)) 

任何想法为什么?非常感谢任何帮助!

【问题讨论】:

    标签: python function emoji


    【解决方案1】:

    在我的emoji (v1.6.1) 版本中,emoji.UNICODE_EMOJI_ENGLISH 有效:

    import emoji
    
    def emoji_counter(s):
        return sum(c in emoji.UNICODE_EMOJI_ENGLISH for c in s)
    
    s = "?? Last clue! \nWho's the host of"
    print(emoji_counter(s)) # 2
    

    或者试试emoji.UNICODE_EMOJI['en'] (https://github.com/carpedm20/emoji/issues/155):

    从 v.1.0.0 开始,添加了对表情符号多语言命名的支持。现在UNICODE_EMOJI 有语言键

    UNICODE_EMOJI = {
    'en': UNICODE_EMOJI_ENGLISH,
    'es': UNICODE_EMOJI_SPANISH,
    'pt': UNICODE_EMOJI_PORTUGUESE,
    'it': UNICODE_EMOJI_ITALIAN,
    }
    

    【讨论】:

    • 谢谢!使用emoji.UNICODE_EMOJI_ENGLISH 指定语言有效!
    猜你喜欢
    • 2017-03-14
    • 2017-10-06
    • 1970-01-01
    • 2022-01-16
    • 2014-03-27
    • 2017-12-03
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多