如何将表情符号彼此分开?

Abi*_*021 2 python emoji

例如,我需要将表情符号彼此分开

EM = 'Hey '
EM.split()
Run Code Online (Sandbox Code Playgroud)

如果我们拆分它,我们将拥有

['Hey' ,'']
Run Code Online (Sandbox Code Playgroud)

我希望有

['hey' , '' , '' , '']
Run Code Online (Sandbox Code Playgroud)

我希望将其应用于所有表情符号。

Mic*_*mza 6

您应该可以get_emoji_regexphttps://pypi.org/project/emoji/中使用该代码以及常用split功能。所以像这样:

import functools
import operator
import re

import emoji

em = 'Hey '
em_split_emoji = emoji.get_emoji_regexp().split(em)
em_split_whitespace = [substr.split() for substr in em_split_emoji]
em_split = functools.reduce(operator.concat, em_split_whitespace)

print(em_split)
Run Code Online (Sandbox Code Playgroud)

输出:

['Hey', '', '', '']
Run Code Online (Sandbox Code Playgroud)

一个更复杂的情况,带有家族,肤色修饰符和一个标志:

em = 'Hey ???'
em_split_emoji = emoji.get_emoji_regexp().split(em)
em_split_whitespace = [substr.split() for substr in em_split_emoji]
em_split = functools.reduce(operator.concat, em_split_whitespace)

for separated in em_split:
    print(separated)
Run Code Online (Sandbox Code Playgroud)

输出:

Hey
???




Run Code Online (Sandbox Code Playgroud)

(我认为print与家庭表情符号一起在列表上使用会产生一些问题,因此分别打印列表的每个项目。直接使用U + 200D零宽度连接符打印家庭表情符号,而不是通过列表