Example#
Class EmojiSequence is most useful. To use it:
Usages#
Import and initialize the library#
Import emoji_data:
[1]:
from emoji_data import load_emoji_data, EmojiSequence
load emoji data to memory
[2]:
load_emoji_data()
Print Emojis#
Print first 100 emojis
[3]:
for es, _ in zip(EmojiSequence.values(), range(100)):
print(repr(es))
<EmojiSequence code_points='231A' string='⌚' version='E0.6' description='watch..hourglass done'>
<EmojiSequence code_points='231B' string='⌛' version='E0.6' description='watch..hourglass done'>
<EmojiSequence code_points='23E9' string='⏩' version='E0.6' description='fast-forward button..fast down button'>
<EmojiSequence code_points='23EA' string='⏪' version='E0.6' description='fast-forward button..fast down button'>
<EmojiSequence code_points='23EB' string='⏫' version='E0.6' description='fast-forward button..fast down button'>
<EmojiSequence code_points='23EC' string='⏬' version='E0.6' description='fast-forward button..fast down button'>
<EmojiSequence code_points='23F0' string='⏰' version='E0.6' description='alarm clock'>
<EmojiSequence code_points='23F3' string='⏳' version='E0.6' description='hourglass not done'>
<EmojiSequence code_points='25FD' string='◽' version='E0.6' description='white medium-small square..black medium-small square'>
<EmojiSequence code_points='25FE' string='◾' version='E0.6' description='white medium-small square..black medium-small square'>
<EmojiSequence code_points='2614' string='☔' version='E0.6' description='umbrella with rain drops..hot beverage'>
<EmojiSequence code_points='2615' string='☕' version='E0.6' description='umbrella with rain drops..hot beverage'>
<EmojiSequence code_points='2648' string='♈' version='E0.6' description='Aries..Pisces'>
<EmojiSequence code_points='2649' string='♉' version='E0.6' description='Aries..Pisces'>
<EmojiSequence code_points='264A' string='♊' version='E0.6' description='Aries..Pisces'>
<EmojiSequence code_points='264B' string='♋' version='E0.6' description='Aries..Pisces'>
<EmojiSequence code_points='264C' string='♌' version='E0.6' description='Aries..Pisces'>
<EmojiSequence code_points='264D' string='♍' version='E0.6' description='Aries..Pisces'>
<EmojiSequence code_points='264E' string='♎' version='E0.6' description='Aries..Pisces'>
<EmojiSequence code_points='264F' string='♏' version='E0.6' description='Aries..Pisces'>
<EmojiSequence code_points='2650' string='♐' version='E0.6' description='Aries..Pisces'>
<EmojiSequence code_points='2651' string='♑' version='E0.6' description='Aries..Pisces'>
<EmojiSequence code_points='2652' string='♒' version='E0.6' description='Aries..Pisces'>
<EmojiSequence code_points='2653' string='♓' version='E0.6' description='Aries..Pisces'>
<EmojiSequence code_points='267F' string='♿' version='E0.6' description='wheelchair symbol'>
<EmojiSequence code_points='2693' string='⚓' version='E0.6' description='anchor'>
<EmojiSequence code_points='26A1' string='⚡' version='E0.6' description='high voltage'>
<EmojiSequence code_points='26AA' string='⚪' version='E0.6' description='white circle..black circle'>
<EmojiSequence code_points='26AB' string='⚫' version='E0.6' description='white circle..black circle'>
<EmojiSequence code_points='26BD' string='⚽' version='E0.6' description='soccer ball..baseball'>
<EmojiSequence code_points='26BE' string='⚾' version='E0.6' description='soccer ball..baseball'>
<EmojiSequence code_points='26C4' string='⛄' version='E0.6' description='snowman without snow..sun behind cloud'>
<EmojiSequence code_points='26C5' string='⛅' version='E0.6' description='snowman without snow..sun behind cloud'>
<EmojiSequence code_points='26CE' string='⛎' version='E0.6' description='Ophiuchus'>
<EmojiSequence code_points='26D4' string='⛔' version='E0.6' description='no entry'>
<EmojiSequence code_points='26EA' string='⛪' version='E0.6' description='church'>
<EmojiSequence code_points='26F2' string='⛲' version='E0.6' description='fountain..flag in hole'>
<EmojiSequence code_points='26F3' string='⛳' version='E0.6' description='fountain..flag in hole'>
<EmojiSequence code_points='26F5' string='⛵' version='E0.6' description='sailboat'>
<EmojiSequence code_points='26FA' string='⛺' version='E0.6' description='tent'>
<EmojiSequence code_points='26FD' string='⛽' version='E0.6' description='fuel pump'>
<EmojiSequence code_points='2705' string='✅' version='E0.6' description='check mark button'>
<EmojiSequence code_points='270A' string='✊' version='E0.6' description='raised fist..raised hand'>
<EmojiSequence code_points='270B' string='✋' version='E0.6' description='raised fist..raised hand'>
<EmojiSequence code_points='2728' string='✨' version='E0.6' description='sparkles'>
<EmojiSequence code_points='274C' string='❌' version='E0.6' description='cross mark'>
<EmojiSequence code_points='274E' string='❎' version='E0.6' description='cross mark button'>
<EmojiSequence code_points='2753' string='❓' version='E0.6' description='red question mark..white exclamation mark'>
<EmojiSequence code_points='2754' string='❔' version='E0.6' description='red question mark..white exclamation mark'>
<EmojiSequence code_points='2755' string='❕' version='E0.6' description='red question mark..white exclamation mark'>
<EmojiSequence code_points='2757' string='❗' version='E0.6' description='red exclamation mark'>
<EmojiSequence code_points='2795' string='➕' version='E0.6' description='plus..divide'>
<EmojiSequence code_points='2796' string='➖' version='E0.6' description='plus..divide'>
<EmojiSequence code_points='2797' string='➗' version='E0.6' description='plus..divide'>
<EmojiSequence code_points='27B0' string='➰' version='E0.6' description='curly loop'>
<EmojiSequence code_points='27BF' string='➿' version='E1.0' description='double curly loop'>
<EmojiSequence code_points='2B1B' string='⬛' version='E0.6' description='black large square..white large square'>
<EmojiSequence code_points='2B1C' string='⬜' version='E0.6' description='black large square..white large square'>
<EmojiSequence code_points='2B50' string='⭐' version='E0.6' description='star'>
<EmojiSequence code_points='2B55' string='⭕' version='E0.6' description='hollow red circle'>
<EmojiSequence code_points='1F004' string='🀄' version='E0.6' description='mahjong red dragon'>
<EmojiSequence code_points='1F0CF' string='🃏' version='E0.6' description='joker'>
<EmojiSequence code_points='1F18E' string='🆎' version='E0.6' description='AB button (blood type)'>
<EmojiSequence code_points='1F191' string='🆑' version='E0.6' description='CL button..VS button'>
<EmojiSequence code_points='1F192' string='🆒' version='E0.6' description='CL button..VS button'>
<EmojiSequence code_points='1F193' string='🆓' version='E0.6' description='CL button..VS button'>
<EmojiSequence code_points='1F194' string='🆔' version='E0.6' description='CL button..VS button'>
<EmojiSequence code_points='1F195' string='🆕' version='E0.6' description='CL button..VS button'>
<EmojiSequence code_points='1F196' string='🆖' version='E0.6' description='CL button..VS button'>
<EmojiSequence code_points='1F197' string='🆗' version='E0.6' description='CL button..VS button'>
<EmojiSequence code_points='1F198' string='🆘' version='E0.6' description='CL button..VS button'>
<EmojiSequence code_points='1F199' string='🆙' version='E0.6' description='CL button..VS button'>
<EmojiSequence code_points='1F19A' string='🆚' version='E0.6' description='CL button..VS button'>
<EmojiSequence code_points='1F201' string='🈁' version='E0.6' description='Japanese “here” button'>
<EmojiSequence code_points='1F21A' string='🈚' version='E0.6' description='Japanese “free of charge” button'>
<EmojiSequence code_points='1F22F' string='🈯' version='E0.6' description='Japanese “reserved” button'>
<EmojiSequence code_points='1F232' string='🈲' version='E0.6' description='Japanese “prohibited” button..Japanese “not free of charge” button'>
<EmojiSequence code_points='1F233' string='🈳' version='E0.6' description='Japanese “prohibited” button..Japanese “not free of charge” button'>
<EmojiSequence code_points='1F234' string='🈴' version='E0.6' description='Japanese “prohibited” button..Japanese “not free of charge” button'>
<EmojiSequence code_points='1F235' string='🈵' version='E0.6' description='Japanese “prohibited” button..Japanese “not free of charge” button'>
<EmojiSequence code_points='1F236' string='🈶' version='E0.6' description='Japanese “prohibited” button..Japanese “not free of charge” button'>
<EmojiSequence code_points='1F238' string='🈸' version='E0.6' description='Japanese “application” button..Japanese “open for business” button'>
<EmojiSequence code_points='1F239' string='🈹' version='E0.6' description='Japanese “application” button..Japanese “open for business” button'>
<EmojiSequence code_points='1F23A' string='🈺' version='E0.6' description='Japanese “application” button..Japanese “open for business” button'>
<EmojiSequence code_points='1F250' string='🉐' version='E0.6' description='Japanese “bargain” button..Japanese “acceptable” button'>
<EmojiSequence code_points='1F251' string='🉑' version='E0.6' description='Japanese “bargain” button..Japanese “acceptable” button'>
<EmojiSequence code_points='1F300' string='🌀' version='E0.6' description='cyclone..milky way'>
<EmojiSequence code_points='1F301' string='🌁' version='E0.6' description='cyclone..milky way'>
<EmojiSequence code_points='1F302' string='🌂' version='E0.6' description='cyclone..milky way'>
<EmojiSequence code_points='1F303' string='🌃' version='E0.6' description='cyclone..milky way'>
<EmojiSequence code_points='1F304' string='🌄' version='E0.6' description='cyclone..milky way'>
<EmojiSequence code_points='1F305' string='🌅' version='E0.6' description='cyclone..milky way'>
<EmojiSequence code_points='1F306' string='🌆' version='E0.6' description='cyclone..milky way'>
<EmojiSequence code_points='1F307' string='🌇' version='E0.6' description='cyclone..milky way'>
<EmojiSequence code_points='1F308' string='🌈' version='E0.6' description='cyclone..milky way'>
<EmojiSequence code_points='1F309' string='🌉' version='E0.6' description='cyclone..milky way'>
<EmojiSequence code_points='1F30A' string='🌊' version='E0.6' description='cyclone..milky way'>
<EmojiSequence code_points='1F30B' string='🌋' version='E0.6' description='cyclone..milky way'>
<EmojiSequence code_points='1F30C' string='🌌' version='E0.6' description='cyclone..milky way'>
<EmojiSequence code_points='1F30D' string='🌍' version='E0.7' description='globe showing Europe-Africa..globe showing Americas'>
Check if hex list represents an EmojiSequence#
[4]:
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 EmojiSequence!".format(hex_data))
else:
print("{} is EmojiSequence {}".format(hex_data, es.string))
1F6A3 is EmojiSequence 🚣
1F468 1F3FC 200D F68F is NOT EmojiSequence!
1F468 1F3FB 200D 2708 FE0F is EmojiSequence 👨🏻✈️
023A is NOT EmojiSequence!
1F469 200D 1F52C is EmojiSequence 👩🔬
1F468 200D 1F468 200D 1F467 200D 1F467 is EmojiSequence 👨👨👧👧
1F441 FE0F 200D 1F5E8 FE0E is NOT EmojiSequence!
Check if a string is EmojiSequence#
[5]:
print("👨" in EmojiSequence)
print("©" in EmojiSequence) # 00AE, unqualified
print("5️⃣" in EmojiSequence)
print("9⃣" in EmojiSequence) # 0039 20E3, unqualified
True
False
True
False
Search EmojiSequence inside texts#
[6]:
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, it will not be matched!",
"and no more emoji.",
]
for s in strings:
for es, begin, end in EmojiSequence.find(s):
print(f"[{begin}:{end}] - {es} {es!r}")
print("---")
[6:11] - 👨🏻⚕️ <EmojiSequence code_points='1F468 1F3FB 200D 2695 FE0F' string='👨🏻\u200d⚕️' version='E4.0' description='man health worker: light skin tone'>
[20:22] - 👨🏻 <EmojiSequence code_points='1F468 1F3FB' string='👨🏻' version='E1.0' description='man: light skin tone'>
---
[15:20] - 👨👨👧 <EmojiSequence code_points='1F468 200D 1F468 200D 1F467' string='👨\u200d👨\u200d👧' version='E2.0' description='family: man, man, girl'>
[20:27] - 👨👨👧👧 <EmojiSequence code_points='1F468 200D 1F468 200D 1F467 200D 1F467' string='👨\u200d👨\u200d👧\u200d👧' version='E2.0' description='family: man, man, girl, girl'>
[49:50] - 🌞 <EmojiSequence code_points='1F31E' string='🌞' version='E1.0' description='full moon face..sun with face'>
[50:52] - ⛈️ <EmojiSequence code_points='26C8 FE0F' string='⛈️' version='E5.2' description='THUNDER CLOUD AND RAIN'>
[63:64] - 😀 <EmojiSequence code_points='1F600' string='😀' version='E1.0' description='grinning face'>
---
[59:61] - ©️ <EmojiSequence code_points='00A9 FE0F' string='©️' version='E1.1' description='COPYRIGHT SIGN'>
---
---
---