ExampleΒΆ
Class EmojiSequence
is most usefule. To use it:
UsagesΒΆ
Import emoji_data
:
[1]:
from emoji_data import EmojiSequence
Print Emojis iteratelyΒΆ
Print 10 emojis
[2]:
for i, es in enumerate(EmojiSequence.values()):
if i < 10:
print(repr(es))
<EmojiSequence code_points='1F468 200D 2764 FE0F 200D 1F468' status='fully-qualified', string='π¨\u200dβ€οΈ\u200dπ¨', description='couple with heart: man, man'>
<EmojiSequence code_points='1F468 200D 2764 FE0F 200D 1F48B 200D 1F468' status='fully-qualified', string='π¨\u200dβ€οΈ\u200dπ\u200dπ¨', description='kiss: man, man'>
<EmojiSequence code_points='1F468 200D 1F466' status='fully-qualified', string='π¨\u200dπ¦', description='family: man, boy'>
<EmojiSequence code_points='1F468 200D 1F466 200D 1F466' status='fully-qualified', string='π¨\u200dπ¦\u200dπ¦', description='family: man, boy, boy'>
<EmojiSequence code_points='1F468 200D 1F467' status='fully-qualified', string='π¨\u200dπ§', description='family: man, girl'>
<EmojiSequence code_points='1F468 200D 1F467 200D 1F466' status='fully-qualified', string='π¨\u200dπ§\u200dπ¦', description='family: man, girl, boy'>
<EmojiSequence code_points='1F468 200D 1F467 200D 1F467' status='fully-qualified', string='π¨\u200dπ§\u200dπ§', description='family: man, girl, girl'>
<EmojiSequence code_points='1F468 200D 1F468 200D 1F466' status='fully-qualified', string='π¨\u200dπ¨\u200dπ¦', description='family: man, man, boy'>
<EmojiSequence code_points='1F468 200D 1F468 200D 1F466 200D 1F466' status='fully-qualified', string='π¨\u200dπ¨\u200dπ¦\u200dπ¦', description='family: man, man, boy, boy'>
<EmojiSequence code_points='1F468 200D 1F468 200D 1F467' status='fully-qualified', string='π¨\u200dπ¨\u200dπ§', description='family: man, man, girl'>
Check if hex list represents an EmojiΒΆ
[3]:
emojis_data = [
'1F6A3',
'1F468 1F3FC 200D F68F',
'1F468 1F3FB 200D 2708 FE0F',
'023A',
'1F469 200D 1F52C',
'1F468 200D 1F468 200D 1F467 200D 1F467',
'1F441 FE0F 200D 1F5E8 FE0E'
]
for hex_data in emojis_data:
try:
es = EmojiSequence.from_hex(hex_data)
except KeyError:
print('{} is NOT Emoji!'.format(hex_data))
else:
print('{} is Emoji {}'.format(hex_data, es.string))
1F6A3 is Emoji π£
1F468 1F3FC 200D F68F is NOT Emoji!
1F468 1F3FB 200D 2708 FE0F is Emoji π¨π»ββοΈ
023A is NOT Emoji!
1F469 200D 1F52C is Emoji π©βπ¬
1F468 200D 1F468 200D 1F467 200D 1F467 is Emoji π¨βπ¨βπ§βπ§
1F441 FE0F 200D 1F5E8 FE0E is NOT Emoji!
Check if a string is EmojiΒΆ
[4]:
print('π¨' in EmojiSequence)
print('Β©' in EmojiSequence) # 00AE, unqualified
print('5οΈβ£' in EmojiSequence)
print('9β£' in EmojiSequence) # 0039 20E3, unqualified
True
True
True
True
Search Emojis inside textsΒΆ
[5]:
strings = [
"First:π¨π»ββοΈ. Second:π¨π».",
"The two emojis π¨βπ¨βπ§π¨βπ¨βπ§βπ§ are long. Today is a πβοΈ day, I am π.",
"Β© 00AE is unqualified, the full-qualified one is 00A9 FE0F Β©οΈ",
"9β£ 0039 20E3 is also unqualified, but it can be matched!",
"and no emoji here."
]
for s in strings:
for es, begin, end in EmojiSequence.iter_find(s):
print('[{} : {}] : {}'.format(begin, end, es))
print('---')
[6 : 11] : π¨π»ββοΈ
[20 : 22] : π¨π»
---
[15 : 20] : π¨βπ¨βπ§
[20 : 27] : π¨βπ¨βπ§βπ§
[49 : 50] : π
[50 : 52] : βοΈ
[63 : 64] : π
---
[0 : 1] : Β©
[59 : 61] : Β©οΈ
---
[0 : 2] : 9β£
---
---