##インストール
pip install emoji
##動作環境
python3 --version
# Python 3.9.6
pip3 show emoji
# Version: 1.4.2
##絵文字の正規表現の取得 - get_emoji_regexp()
get_emoji_regexp()メソッドで絵文字判別のための正規表現を取得することができます。
これを利用することで文章中の🤔みたいな絵文字を消し去ることができます。
import re
import emoji
faces = '😢🥺🤮ლ(´ڡ`ლ)🙂😱😸( ◜ω◝ )🤔😛😾'
print(re.sub(emoji.get_emoji_regexp(), '', faces))
# ლ(´ڡ`ლ)( ◜ω◝ )
YouTubeやTwitterなどから取得してきたテキストを色々いじくる前の処理として使うことができます。
##文字列内の絵文字の個数をカウント - emoji_count()
print(emoji.emoji_count('🍰🍔🌭おなかすいた〜🍳🍄🍫'))
# 6
##説明テキストを絵文字へと変換 - emojize()
print(emoji.emojize('Python is :thumbs_up:'))
# Python is 👍
このモジュールでは通常のテキストと絵文字を指すテキストを区切り文字で判断しています。
デフォルトではコロンを両端に添えることで他と区別しています。
##絵文字を説明テキストへ変換 - demojize()
pien = emoji.demojize('🥺')
print(pien)
# :pleading_face:
絵文字が表示できない環境への対応に利用できる。
##絵文字のセット
emojiモジュールは絵文字と説明テキストの辞書(英語版やスペイン語版など6言語対応)を提供しています。他の方が記事で紹介しているemoji.UNICODE_EMOJIは今は各言語の辞書が入った辞書へと変わってしまっているので,今はemoji.UNICODE_EMOJI_ENGLISHを使うのがいいかも。
print(emoji.UNICODE_EMOJI_ENGLISH)
# {'🥇': ':1st_place_medal:', '🥈': ':2nd_place_medal:', '🥉': ':3rd_place_medal:', ...}
print(emoji.UNICODE_EMOJI_ENGLISH['😾'])
# :pouting_cat:
is_emoji = '🤮' in emoji.UNICODE_EMOJI_ENGLISH
print(is_emoji)
# True
is_emoji = 'あ' in emoji.UNICODE_EMOJI_ENGLISH
print(is_emoji)
# False
emoji.EMOJI_UNICODE_ENGLISHはキーとバリューを逆転させたもの。
print(emoji.EMOJI_UNICODE_ENGLISH)
# {':1st_place_medal:': '🥇', ':2nd_place_medal:': '🥈', ':3rd_place_medal:': '🥉', ...}