[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」カテゴリの記事
- [Visual Basic]ImageMagickを利用する(2023.10.10)
- [Visual Basic]各プロジェクトで自動作成されるソースファイルの文字コードと改行コード(2023.01.31)
- [Visual Basic]文字の全角半角を判定する(2022.03.07)
- [Visual Basic]コマンドプロンプトでコンパイルする(Visual Studio 2019 Professional)(2021.06.13)
- [Visual Basic]コマンドラインでコンパイルする(2020.07.28)
コメント