- - PR -
全角文字チェック
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-01-28 14:31
せんべいと申します
全角文字チェックの件でお聞きしたいことがあります。 アルファベットと数字、カタカナの場合は・・・ Dim a As String = <チェックする文字列> If a = StrConv(a, VbStrConv.Narrow) Then ' 全角なし Else ' 全角あり End If で良いと思うのですが、ひらがなと漢字が含まれて いるときはこのチェックでは駄目だと思うのです が、どうしたらよいでしょうか?Unicodeなので バイト数でちぇっくもできないですし・・・。 | ||||||||
|
投稿日時: 2003-01-28 23:56
System.Text.Encodingというクラスがあります。
使ってみてはどうでしょう? | ||||||||
|
投稿日時: 2003-01-29 11:28
一郎さんの補足です。
下記の様なコードで文字列のバイト数が取得できます。 ------------------------------------------------------------------ Dim str As String = <チェックする文字列> Dim lengths As Integer = System.Text.Encoding.GetEncoding("Shift_Jis").GetByteCount(str) MessageBox.Show(lengths.ToString) ------------------------------------------------------------------ | ||||||||
|
投稿日時: 2003-01-29 19:11
せんべいです
ありがとうございます。 その後、考えた結果、私もそのようにしました。 ---- Dim ary() As Char = ***.ToCharArray() <- *** はチェックしたい文字列 Dim i As Integer For i = 0 To ary.Length - 1 If Encoding.GetEncoding("Shift_JIS").GetBytes(ary(i)).Length = 2 Then ' 全角や! End If Next ---- みたいな感じです。スマートじゃないですよね〜。 [ メッセージ編集済み 編集者: せんべい 編集日時 2003-01-29 19:14 ] | ||||||||
|
投稿日時: 2003-01-30 14:52
半角文字だけで構成されているかどうかをチェックしたいんですよね?
でいいんじゃないでしょうか。 [ メッセージ編集済み 編集者: omatsu 編集日時 2003-01-30 14:57 ] [ メッセージ編集済み 編集者: omatsu 編集日時 2003-01-30 14:58 ] |
1