我正在接收来自聊天应用程序的表情,当有多个表情时,我想将每个表情符号分开。我能够捕获单个的表情符号,因为unicode的value.but拆分函数不适用于多个表情符号,values.This代码是用于单个表情符号的
def getEmoji(data)
sleepy_face = [u'\U0001F6CC', u'\U0001F634', u'\U0001F4A4']
if (data in sleepy_face):
return emoji.emojize('Are you sleepy? :slightly_smiling_face:', use_aliases=True)我试着用这个来分离多个表情
encode_data=data.encode('raw_unicode_escape')
find_data = encode_data.split(b'\\\\')
for extract_data in find_data:
print(extract_data)
if (extract_data in sleepy_face):
return emoji.emojize('Are you sleepy? :slightly_smiling_face:', use_aliases=True) 拆分方法再次返回encode_data。我怎么才能解决这个问题?
发布于 2017-07-20 05:42:30
import re
data = u'\U0001f6cc\U0001f634\U0001f4a4'
for i in re.findall(ur'..', data):
print i
if i in sleepy_face:
return 跑步时:
re.findall(ur'.', data) 你会得到:
[u'\ud83d', u'\udecc', u'\ud83d', u'\ude34', u'\ud83d', u'\udca4']3表情符号== 6 unicode chars.
另一种方式是:
s = u'\U0001F6CCabc\U0001F634bcd\U0001F4A4'
for i in re.findall(ur'([\ud000-\udfff][\ud000-\udfff])', s):
# change range '\ud000'-'\udfff'
print i thx @IgnacioVazquez-Abrams编辑:如果使用UCS-4的Python:
for i in re.findall(".", data):
if i in sleepy_face:
print ihttps://stackoverflow.com/questions/45205537
复制相似问题