InStr 関数 (Visual Basic)
更新 : 2007 年 11 月
ある文字列の中から指定した文字列を検索し、最初に見つかった文字列の開始位置を示す整数型 (Integer) の値を返します。
Public Shared Function InStr(_
ByVal String1 As String, _
ByVal String2 As String, _
Optional ByVal Compare As CompareMethod _
) As Integer
' -or-
Public Shared Function InStr(_
ByVal Start As Integer, _
ByVal String1 As String, _
ByVal String2 As String, _
Optional ByVal Compare As Microsoft.VisualBasic.CompareMethod _
) As Integer
パラメータ
Start
省略可能です。各検索の開始位置を設定する数式を指定します。引数 start を省略すると、先頭の文字から検索されます。開始位置のインデックスの値は、1 から始まります。String1
必ず指定します。検索する文字列型 (String) の式を指定します。String2
必ず指定します。検索される文字列型 (String) の式を指定します。Compare
省略可能です。文字列比較のタイプを指定します。Compare を省略すると、Option Compare 設定により比較のタイプが決定されます。
設定
引数 Compare には、次の値を指定します。
定数 |
値 |
説明 |
---|---|---|
Binary |
0 |
バイナリ モードで比較を行います。 |
Text |
1 |
テキスト モードで比較を行います。 |
戻り値
条件 |
InStr の戻り値 |
---|---|
String1 の長さが 0、または Nothing |
0 |
String2 の長さが 0、または Nothing |
start |
String2 が見つからない。 |
0 |
String2 が内部にある String1 |
一致する文字列の開始位置 |
Start > String2 |
0 |
例外
例外の種類 |
エラー番号 |
条件 |
---|---|---|
Start < 1. |
非構造化エラー処理を使用する Visual Basic 6.0 アプリケーションをアップグレードする場合は、"エラー番号" の列を参照してください(エラー番号を Number プロパティ (Err オブジェクト) と比較することもできます)。ただし、可能であれば、このようなエラー制御は Visual Basic の構造化例外処理の概要 に置き換えることを検討してください。
解説
多くの場合、InStr 関数は文字列を解析するときに使用します。
メモ : |
---|
以前のバージョンの Visual Basic では、InStrB 関数は文字の位置ではなくバイト数を返していました。これは主に、2 バイト文字セット (DBCS) アプリケーションで文字列を変換するために使用します。Visual Basic 2005 のすべての文字列は Unicode で、InStrB は現在サポートされていません。 |
使用例
InStr 関数を使って、ある文字列の中から指定された文字列を検索し、最初に見つかった文字位置を返す例を次に示します。
' String to search in.
Dim SearchString As String = "XXpXXpXXPXXP"
' Search for "P".
Dim SearchChar As String = "P"
Dim TestPos As Integer
' A textual comparison starting at position 4. Returns 6.
TestPos = InStr(4, SearchString, SearchChar, CompareMethod.Text)
' A binary comparison starting at position 1. Returns 9.
TestPos = InStr(1, SearchString, SearchChar, CompareMethod.Binary)
' If Option Compare is not set, or set to Binary, return 9.
' If Option Compare is set to Text, returns 3.
TestPos = InStr(SearchString, SearchChar)
' Returns 0.
TestPos = InStr(1, SearchString, "W")
必要条件
名前空間 : Microsoft.VisualBasic
モジュール : Strings
アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)