Example¶
Class EmojiSequence
is most useful. To use it:
Usages¶
Import emoji_data
:
[6]:
from emoji_data import EmojiSequence
Print Emojis¶
Print first 50 emojis
[7]:
for es, _ in zip(EmojiSequence.values(), range(50)):
print(repr(es))
<EmojiSequence code_points='0023 FE0E' string='#︎', description='text style;'>
<EmojiSequence code_points='0023 FE0F' string='#️', description='emoji style;'>
<EmojiSequence code_points='002A FE0E' string='*︎', description='text style;'>
<EmojiSequence code_points='002A FE0F' string='*️', description='emoji style;'>
<EmojiSequence code_points='0030 FE0E' string='0︎', description='text style;'>
<EmojiSequence code_points='0030 FE0F' string='0️', description='emoji style;'>
<EmojiSequence code_points='0031 FE0E' string='1︎', description='text style;'>
<EmojiSequence code_points='0031 FE0F' string='1️', description='emoji style;'>
<EmojiSequence code_points='0032 FE0E' string='2︎', description='text style;'>
<EmojiSequence code_points='0032 FE0F' string='2️', description='emoji style;'>
<EmojiSequence code_points='0033 FE0E' string='3︎', description='text style;'>
<EmojiSequence code_points='0033 FE0F' string='3️', description='emoji style;'>
<EmojiSequence code_points='0034 FE0E' string='4︎', description='text style;'>
<EmojiSequence code_points='0034 FE0F' string='4️', description='emoji style;'>
<EmojiSequence code_points='0035 FE0E' string='5︎', description='text style;'>
<EmojiSequence code_points='0035 FE0F' string='5️', description='emoji style;'>
<EmojiSequence code_points='0036 FE0E' string='6︎', description='text style;'>
<EmojiSequence code_points='0036 FE0F' string='6️', description='emoji style;'>
<EmojiSequence code_points='0037 FE0E' string='7︎', description='text style;'>
<EmojiSequence code_points='0037 FE0F' string='7️', description='emoji style;'>
<EmojiSequence code_points='0038 FE0E' string='8︎', description='text style;'>
<EmojiSequence code_points='0038 FE0F' string='8️', description='emoji style;'>
<EmojiSequence code_points='0039 FE0E' string='9︎', description='text style;'>
<EmojiSequence code_points='0039 FE0F' string='9️', description='emoji style;'>
<EmojiSequence code_points='00A9 FE0E' string='©︎', description='text style;'>
<EmojiSequence code_points='00A9 FE0F' string='©️', description='copyright'>
<EmojiSequence code_points='00AE FE0E' string='®︎', description='text style;'>
<EmojiSequence code_points='00AE FE0F' string='®️', description='registered'>
<EmojiSequence code_points='203C FE0E' string='‼︎', description='text style;'>
<EmojiSequence code_points='203C FE0F' string='‼️', description='double exclamation mark'>
<EmojiSequence code_points='2049 FE0E' string='⁉︎', description='text style;'>
<EmojiSequence code_points='2049 FE0F' string='⁉️', description='exclamation question mark'>
<EmojiSequence code_points='2122 FE0E' string='™︎', description='text style;'>
<EmojiSequence code_points='2122 FE0F' string='™️', description='trade mark'>
<EmojiSequence code_points='2139 FE0E' string='ℹ︎', description='text style;'>
<EmojiSequence code_points='2139 FE0F' string='ℹ️', description='information'>
<EmojiSequence code_points='2194 FE0E' string='↔︎', description='text style;'>
<EmojiSequence code_points='2194 FE0F' string='↔️', description='left-right arrow'>
<EmojiSequence code_points='2195 FE0E' string='↕︎', description='text style;'>
<EmojiSequence code_points='2195 FE0F' string='↕️', description='up-down arrow'>
<EmojiSequence code_points='2196 FE0E' string='↖︎', description='text style;'>
<EmojiSequence code_points='2196 FE0F' string='↖️', description='up-left arrow'>
<EmojiSequence code_points='2197 FE0E' string='↗︎', description='text style;'>
<EmojiSequence code_points='2197 FE0F' string='↗️', description='up-right arrow'>
<EmojiSequence code_points='2198 FE0E' string='↘︎', description='text style;'>
<EmojiSequence code_points='2198 FE0F' string='↘️', description='down-right arrow'>
<EmojiSequence code_points='2199 FE0E' string='↙︎', description='text style;'>
<EmojiSequence code_points='2199 FE0F' string='↙️', description='down-left arrow'>
<EmojiSequence code_points='21A9 FE0E' string='↩︎', description='text style;'>
<EmojiSequence code_points='21A9 FE0F' string='↩️', description='right arrow curving left'>
Check if hex list represents an EmojiSequence¶
[8]:
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¶
[9]:
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¶
[10]:
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⚕️', description='man health worker: light skin tone'>
[20:22] - 👨🏻 <EmojiSequence code_points='1F468 1F3FB' string='👨🏻', description='man: light skin tone'>
---
[15:20] - 👨👨👧 <EmojiSequence code_points='1F468 200D 1F468 200D 1F467' string='👨\u200d👨\u200d👧', description='family: man, man, girl'>
[20:27] - 👨👨👧👧 <EmojiSequence code_points='1F468 200D 1F468 200D 1F467 200D 1F467' string='👨\u200d👨\u200d👧\u200d👧', description='family: man, man, girl, girl'>
[49:50] - 🌞 <EmojiSequence code_points='1F31E' string='🌞', description='full moon face..sun with face'>
[50:52] - ⛈️ <EmojiSequence code_points='26C8 FE0F' string='⛈️', description='cloud with lightning and rain'>
[63:64] - 😀 <EmojiSequence code_points='1F600' string='😀', description='grinning face'>
---
[59:61] - ©️ <EmojiSequence code_points='00A9 FE0F' string='©️', description='copyright'>
---
---
---