■95901 / inTopicNo.5) |
Re[4]: VB,NET2013で 数値と英文字を区別したい |
□投稿者/ ぶなっぷ (247回)-(2020/10/08(Thu) 09:24:51)
|
とりあえず、以下の原因です。
> '指定された引数は、有効な値の範囲内にありません。 になります
www = "12" なので、
If Char.IsNumber(www, 2) Then は、
www文字列の末尾をはみ出しています。
なので、ArgumentOutOfRangeException例外が発生して、
画面上は「指定された引数は、有効な値の範囲内にありません。」となります。
さて、修正方法ですが、
まず、Char.IsNumber(string s, int index) の仕様を正しく理解しておられます
でしょうか?
s文字列の先頭から index + 1 番目の文字(1文字)が数字であるかを検証するもの
です。
なので、同メソッドを使って正確に判定するなら、文字列内を全探査する必要が
あります。
For index As Integer = 0 To s.Length
If Char.IsNumber(www, index) Then
: (以下略)
Next
ただし、
> 確認するのは2文字で空きはふくまれません
> 英数字は混在しません
というなら、先頭の1文字だけで検証しちゃってもよいのでは?
であれば、
If Char.IsNumber(www, 0) Then
: (以下略)
そんな感じかなと。
|
|