C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■95901 / 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
      : (以下略)

そんな感じかなと。

編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[3]: VB,NET2013で 数値と英文字を区別したい /魔界の仮面弁士 返信無し
 
上記関連ツリー

VB,NET2013で 数値と英文字を区別したい / 年寄プログラマー (20/10/07(Wed) 20:31) #95892
Re[1]: VB,NET2013で 数値と英文字を区別したい / 魔界の仮面弁士 (20/10/07(Wed) 21:28) #95895
│└ Re[2]: VB,NET2013で 数値と英文字を区別したい / 年寄プログラマー (20/10/07(Wed) 21:53) #95897
│  ├ Re[3]: VB,NET2013で 数値と英文字を区別したい / 魔界の仮面弁士 (20/10/08(Thu) 01:06) #95898
│  │└ VB,NET2013で 数値と英文字を区別したい / ぶなっぷ (20/10/08(Thu) 09:24) #95901 ←Now
│  └ Re[3]: VB,NET2013で 数値と英文字を区別したい / 大谷刑部 (20/10/08(Thu) 10:12) #95904
Re[1]: VB,NET2013で 数値と英文字を区別したい / WebSurfer (20/10/08(Thu) 10:15) #95905
Re[1]: VB,NET2013で 数値と英文字を区別したい / 大谷刑部 (20/10/08(Thu) 10:54) #95907
Re[1]: VB,NET2013で 数値と英文字を区別したい / 魔界の仮面弁士 (20/10/09(Fri) 10:50) #95918
  ├ Re[2]: VB,NET2013で 数値と英文字を区別したい / 大谷刑部 (20/10/09(Fri) 11:49) #95919
  │└ Re[3]: VB,NET2013で 数値と英文字を区別したい / 魔界の仮面弁士 (20/10/09(Fri) 12:25) #95920
  │  └ Re[4]: VB,NET2013で 数値と英文字を区別したい / 大谷刑部 (20/10/09(Fri) 14:07) #95925
  └ Re[2]: VB,NET2013で 数値と英文字を区別したい / 魔界の仮面弁士 (20/10/12(Mon) 17:26) #95951
    └ Re: VB,NET2013で 数値と英文字を区別したい / pixer (20/10/13(Tue) 09:54) #95953
      └ Re[4]: Re: VB,NET2013で 数値と英文字を区別したい / 年寄プログラマー (20/10/13(Tue) 19:52) #95970 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信