« [R]ディレクトリ内のファイル一覧を得る | トップページ | [R]リダイレクトを使う »

2022年3月 7日 (月)

[Visual Basic]文字の全角半角を判定する

文字コードがシフトJISであれば(Windows 10の通常状態)、GetByteCountメソッドを使うことで簡単に判定できる。GetByteCountメソッドは引数に与えた文字列のバイト長を返すメソッドだが、一文字だけ与えれば、その文字が全角か半角かの判定に使うことができる。

いわゆる半角文字(ASCIIコードの0x20~0xFF)を与えれば1(整数型)を、全角文字(「あ」や「亜」)であれば2(整数型)を返す。

st = "ABあいうC"
For i = 0 To st.Length - 1
s = st.Substring(i, 1)
len = System.Text.Encoding.GetEncoding(932).GetByteCount(s)
Debug.Print(Str(i) & ": " & Str(len))
Next i

出力

 0:  1
1: 1
2: 2
3: 2
4: 2
5: 1

「A」や「B」は1バイト文字なので1、「あ」や「い」は2バイト文字なので2が返されていることがわかる。

« [R]ディレクトリ内のファイル一覧を得る | トップページ | [R]リダイレクトを使う »

Visual Basic」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« [R]ディレクトリ内のファイル一覧を得る | トップページ | [R]リダイレクトを使う »

無料ブログはココログ

■■

■■■