首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何识别蟒蛇相同颜色/肤色的表情符号?

如何识别蟒蛇相同颜色/肤色的表情符号?
EN

Stack Overflow用户
提问于 2020-09-26 11:35:42
回答 3查看 776关注 0票数 4

如何识别相同的不同颜色的表情符号?

例:应该被认为是相同的

编辑:目前我正在使用表情符号

代码语言:javascript
运行
复制
import regex
import emoji
exm = "poli kariku fans adi like    sub tharamo"
characters = regex.findall("\X",exm)
for char in character:
  if char in emoji.UNICODE_EMOJI:
     #do something
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-09-26 12:38:38

我不认为您需要在用例中使用regex,您可以只使用表情符号的长度:

代码语言:javascript
运行
复制
import emoji

NUM_COLUMNS = 4
TABLE_COLUMN_WIDTH = 18

def is_emoji(s):
    return s in emoji.UNICODE_EMOJI

def is_default_emoji(s):
    return len(s) == 1 and s in emoji.UNICODE_EMOJI

def get_default_emoji(s):
    return s[0] if s in emoji.UNICODE_EMOJI else None

def pretty_print_line(line):
    print(''.join(word.ljust(TABLE_COLUMN_WIDTH) for word in line.split()))

text = "poli kariku fans adi like       sub tharamo"

pretty_print_line("string is_emoji is_default_emoji get_default_emoji")
print("=" * NUM_COLUMNS * TABLE_COLUMN_WIDTH)
for s in text.split():
    pretty_print_line(f'{s} {is_emoji(s)} {is_default_emoji(s)} {get_default_emoji(s)}')

输出:

代码语言:javascript
运行
复制
string            is_emoji          is_default_emoji  get_default_emoji 
========================================================================
poli              False             False             None              
kariku            False             False             None              
fans              False             False             None              
adi               False             False             None              
like              False             False             None              
                True              False                              
                True              False                              
                True              False                              
                True              False                              
                True              False                              
                True              True                               
sub               False             False             None              
tharamo           False             False             None  

您可以在用例中使用一些类似于get_default_emoji的逻辑,因为它会返回相同的表情符号,而不管是否存在肤色修饰符。

票数 2
EN

Stack Overflow用户

发布于 2020-09-26 12:19:57

在表情符号包上没有任何方法可以用相同的颜色来处理相同的符号。但是,我们可以通过比较表情符号名和普通字符串(这里是thumbs_up)来实现这一点。

试试下面的代码。

代码语言:javascript
运行
复制
import regex
import emoji
exm = "poli kariku fans adi like    sub tharamo"
characters = regex.findall("\X",exm)
for char in characters:
  if char in emoji.UNICODE_EMOJI:
      if "thumbs_up" in (emoji.demojize(char)):
          print("It is thumbs_up")

对于支持的emojis列表及其名称,请参考源代码这里

票数 6
EN

Stack Overflow用户

发布于 2020-09-26 12:36:35

每个大拇指向上的表情符号都以代码点1F44D ('THUMBS UP SIGN')开头,后面跟着肤色组件代码点,这样您就可以像这样过滤它们:

代码语言:javascript
运行
复制
thumbs_up = chr(0x1F44D) # or '\N{THUMBS UP SIGN}' or just ''
thumbs = filter(lambda c: c.startswith(thumbs_up), characters)
for thumb in thumbs:
    print(thumbs)

输出

代码语言:javascript
运行
复制
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64077201

复制
相关文章

相似问题

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