方法 : 文字列の配列内で文字列を検索する (Visual Basic)
更新 : 2007 年 11 月
次の例は、文字列の配列内で各文字列をループ処理し、指定された部分文字列がどの文字列に含まれるかを調べます。部分文字列が見つかるたびに、文字列内の部分文字列のインデックスが表示されます。
使用例
次の例では、String オブジェクトの Contains メソッドと IndexOf メソッドが使用されています。
Contains メソッドは、指定された部分文字列が文字列に含まれるかどうかを示します。
IndexOf メソッドは、最初に見つかった部分文字列の 1 番目の文字の場所を報告します。インデックスはゼロベースです。つまり、文字列の最初の文字のインデックスは 0 になります。部分文字列が見つからなければ、IndexOf は -1 を返します。
Dim StrArray() As String = {"ABCDEFG", "HIJKLMNOP"}
Dim FindThisString As String = "JKL"
For Each Str As String In StrArray
If Str.Contains(FindThisString) Then
MsgBox("Found " & FindThisString & " at index " & _
Str.IndexOf(FindThisString))
End If
Next
このコードの例は、IntelliSense コード スニペットとしても利用できます。コード スニペット ピッカーでは、これは [データ型 - Visual Basic によって定義済み] にあります。詳細については、「方法 : コードにスニペットを挿入する (Visual Basic)」を参照してください。
コードのコンパイル方法
この例には、次の項目が必要です。
- System 名前空間を指定する Imports ステートメント。詳細については、「Imports ステートメント (.NET 名前空間および型)」を参照してください。
堅牢性の高いプログラム
IndexOf メソッドでは大文字と小文字が区別され、現在のカルチャが使用されます。
最適なエラー制御としては、文字列の検索を Try...Catch...Finally ステートメント (Visual Basic) 構造の Try ブロックで囲む方法があります。
参照
処理手順
参照
Try...Catch...Finally ステートメント (Visual Basic)