Методы проверки того, является ли строка эмодзи в Python

Чтобы проверить, является ли строка смайликом в Python, можно использовать несколько методов. Вот несколько подходов:

  1. Использование Юникода. Эмодзи представлены символами Юникода. Вы можете проверить, содержит ли строка смайлик, сравнив его кодовую точку Юникода с диапазоном символов Юникода, назначенных смайликам. Вот пример:
def is_emoji(character):
    emoji_range = (0x1F600, 0x1F64F)  # Range of Unicode characters for emojis
    return ord(character) in range(*emoji_range)
string = "????"
if is_emoji(string):
    print("The string is an emoji.")
else:
    print("The string is not an emoji.")
  1. Использование библиотеки emoji. Библиотека emojiпредоставляет набор функций и утилит для работы с эмодзи. Вы можете использовать функцию emoji.is_emoji(), чтобы проверить, является ли строка эмодзи. Вот пример:
import emoji
string = "????"
if emoji.is_emoji(string):
    print("The string is an emoji.")
else:
    print("The string is not an emoji.")
  1. Использование регулярных выражений. Вы также можете проверить, содержит ли строка смайлы, используя регулярные выражения. Модуль reв Python поддерживает диапазоны символов Юникода, которые можно использовать для сопоставления смайлов. Вот пример:
import re
def contains_emoji(string):
    emoji_pattern = re.compile("["
                               u"\U0001F600-\U0001F64F"  # Emoticons
                               u"\U0001F300-\U0001F5FF"  # Symbols & Pictographs
                               u"\U0001F680-\U0001F6FF"  # Transport & Map Symbols
                               u"\U0001F1E0-\U0001F1FF"  # Flags (iOS)
                               "]+", flags=re.UNICODE)
    return bool(emoji_pattern.search(string))
string = "Hello ????"
if contains_emoji(string):
    print("The string contains an emoji.")
else:
    print("The string does not contain an emoji.")