🐔

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

2024/06/01に公開

結論

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

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

解説

一般的に、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)]
# 👧 🏻

参考

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

Discussion