文字列操作

【Python】文字列操作:文字列中の文字の全角半角判定

嫁ちゃん
嫁ちゃん

文字列内の全角半角の区別をつけたいなー

わたし
わたし

文字列から1文字づつ取り出して、判定してみよう!

はじめに

文字列から1文字づつ取り出して unicodedata.east_asian_width() を使って全角と半角を判定してみます。

用法

import unicodedata
ret = unicodedata.east_asian_width(chr)

ユニコード文字 chr に割り当てられた east asian width を文字列で返します。

返り値(ret)

  • East Asian Full-width (F)
  • East Asian Half-width (H)
  • East Asian Wide (W)
  • East Asian Narrow (Na)
  • East Asian Ambiguous (A)
  • Not East Asian (Neutral)

Python
import nicodedata s = 'abcあいうえおdef' for c in s: print(c, unicodedata.east_asian_width(c))

1文字毎に判定した結果が表示されていますね。

実行結果
a Na b Na c Na あ W い W う W え W お W d Na e Na f Na

おわりに

嫁ちゃん
嫁ちゃん

文字と言っても、種類が色々とあるんですね。

わたし
わたし

そうだね。

文字の個数を数えるのか、バイト数を数えるのかハッキリしておかないと混乱するよ。

この記事がお役に立てましたら幸いです。
人気ブログランキングに参加しております。
よろしければクリックしていただけると嬉しいです。
にほんブログ村 IT技術ブログ Pythonへ
※本サイトに掲載する情報には充分に注意を払っておりますが、その内容について保証するものではありません。
※本サイトの使用ならびに閲覧によって生じたいかなる損害にも責任を負いかねます。

コメント

タイトルとURLをコピーしました