print(len("👩👧👦"))
# 5
絵文字1文字の長さが「5」。
コードポイントの個数ですね!
😀 文字を数える
データを15文字で作ります。
この文字をカウントするのは、re
でどう書くのか分からなかったので、ライブラリを使いました。
👉 regex 2022.10.31 on PyPI - Libraries.io
Matching a single grapheme \X
The grapheme matcher is supported. It conforms to the Unicode specification at http://www.unicode.org/reports/tr29/.
print(len(regex.findall(r'\X', data)))
# 15
正しくカウントできました!
😀 文字の構成(要素)を確認する
作ったデータを使って、各文字に含まれるコードポイントを確認するスクリプトを書いて実行してみます。
dump(data)
うまくそれぞれの絵文字の構成要素が分かるようになりました。
😀 まとめ
Python ではコードポイントをそのまま \UXXXXXXXX
の形式で書けるので便利。
Kotlin では以下から。
【Kotlin】絵文字を含む Unicode 文字列の文字数をカウントする方法と文字ごとの構成 https://t.co/Ge1cKTLiSn #unicode #programming #kotlin #android
— chanzmao (@maochanz) May 29, 2023