ExampleΒΆ

Class EmojiSequence is most usefule. To use it:

UsagesΒΆ

Import emoji_data:

[1]:
from emoji_data import EmojiSequence

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⃣
---
---