[ 最終更新日: 2026-07-25 09:48 閲覧回数: 13回 ]
len()とeast_asian_width()関数
len()関数
文字列の長さを1バイト、2バイト文字にかかわらず、一文字としてカウント
1バイト文字と2バイトを別にカウントする east_asian_width() 関数
| 分類 | 戻り値 | 意味 |
|---|---|---|
| 全角 | F | Fullwidth(全角英数など |
| ^ | W | Wide(漢字や全角かななど) |
| ^ | A | Ambigous(特殊文字など)1 |
| 半角 | Na | Narrow(半角英数など) |
| ^ | H | Harfwidth(半角カタカナなど)2 |
| ^ | N | Neutal(中立、いぞれにも属さない文字、日本語には存在しない) |
ex. east_asian_width(chr)
import unicodedata
data1='鉄腕アトム'
for i in data1:
print(i, '=', unicodedata.east_asian_width(i))
鉄 = W
腕 = W
ア = W
ト = W
ム = W
data1='鉄腕Atom'
for i in data1:
print(i, '=', unicodedata.east_asian_width(i))
鉄 = W
腕 = W
A = Na
t = Na
o = Na
m = Na
data1='ポットです。'
length = 0
for i in data1:
result = unicodedata.east_asian_width(i)
if result == "F" or result == "W" or result == "A":
print(i,result)
length += 2
print(length)
else:
print(i,result)
length += 1
print(length)
print('合計',length)
ホ H
1
゜ H3
2
ッ H
3
ト H
4
で W
6
す W
8
。 W
10
合計 10
コメント
コメントはありませんコメント入力フォーム(気軽にコメントしてください)
- 誹謗中傷や名誉毀損、他人に不快感を与える表現を含む投稿はご遠慮ください。
- 改行は入力できません。一行で入力してください。
- 空白だけの入力など、いたずら目的の投稿はご遠慮ください。