LoginSignup
8
3

More than 1 year has passed since last update.

【Python】emojiモジュールについて

Last updated at Posted at 2021-09-04

インストール

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:': '🥉', ...}

8
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3