Pythonで、絵文字を一文字ずつ処理する方法

schedule 2025年6月7日category メモ

事象

ZWJ emojiが含まれている文字列を一文字ずつ処理できない問題が発生。
一般的に、Pythonで一文字ずつ処理したい場合。

text="ABCD"
[print(e,end=" ") for e in list(text)]
#A B C D

しかし、ZWJ emojiが含まれている状態で行うとうまくいかない。

text="👧🏻"
[print(e,end=" ") for e in list(text)]
# 👧 🏻

解決方法

emojiモジュールを使うと、できる。

import emoji
text="👧🏻"
emoji.replace_emoji(text,replace=lambda e, data_dict:print(e,end=" "))
# 👧🏻

参考

https://carpedm20.github.io/emoji/docs/#non-rgi-zwj-emoji

Powered by Nextjs,Catppuccin Theme

© 2025 PenguinCabinet All Rights Reserved.

※引用した商標・著作物は各権利者に帰属します。
ペンギン内閣名義の発言は、所属組織を代表するものではありません。個人の所感です。