HOME
Python
はじめに
環境構築
日時操作
文法
標準ライブラリ
データ型
リスト操作
辞書操作
Tkinter
組み込み関数
関数・クラス
コーヒーブレイク
Math関数
Twitter関連
開発環境
PHP
配列操作
文字列操作
変数操作
日付時刻
ファイル操作
ガジェット
デジタルカメラ
カメラ
フィルムカメラ
写真
DIY
PC関連
Raspberry Pi
自転車
100均
家電
日用品
鉄道
フェレット
プログラミング
karabiner
WordPress
vim
たばこ
ベース
うつ病
動画
雑記

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

<![CDATA[

嫁ちゃん
嫁ちゃん

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

わたし
わたし

文字列から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

おわりに

嫁ちゃん
嫁ちゃん

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

わたし
わたし

そうだね。

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

この記事がお役に立ちましたら幸いです。

では、また。

※本サイトの漫画やイラストはフィクションであり、実在の製品・団体・人物・地名とは関係ありません。
※本サイトに掲載する情報には充分に注意を払っておりますが、その内容について保証するものではありません。
※本サイトの使用ならびに閲覧によって生じたいかなる損害にも責任を負いかねます。

]]>

コメント

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