環境構築からWEBアプリ開発・スマホアプリ開発まで。ときには動画制作やゲームも。

supilog
すぴろぐ

Pythonで文字列から絵文字を削除する

スクレイピングの途中で、絵文字が抽出されてデータベースに保存する時にエラーになった事がありました。絵文字を削除したいと思います。

絵文字を削除する

import emoji

# 対象文字列
text = "絵文字入りテキスト😊"
print(text)

# 絵文字削除
text = emoji.replace_emoji(text)
print(text)


<出力>
絵文字入りテキスト😊
絵文字入りテキスト

古いWEB記事では、get_emoji_regexp()を使用した処理が多いが、emojiライブラリではバージョン2.0.0からget_emoji_regexp()関数は削除されたようです。Python3での正規表現処理が遅く、長い​​絵文字の特定の組み合わせで正しく処理が出来なかった事が原因のようだ。

ちなみに、置換する文字列を以下のように指定することも可能です。

import emoji

# 対象文字列
text = "絵文字入りテキスト😊"
print(text)

# 絵文字削除
text = emoji.replace_emoji(text, replace="<絵文字>")
print(text)


<出力>
絵文字入りテキスト😊
絵文字入りテキスト<絵文字>