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

例外

例外の種類

エラー番号

条件

ArgumentException

5

Start < 1.

非構造化エラー処理を使用する Visual Basic 6.0 アプリケーションをアップグレードする場合は、"エラー番号" の列を参照してください(エラー番号を Number プロパティ (Err オブジェクト) と比較することもできます)。ただし、可能であれば、このようなエラー制御は Visual Basic の構造化例外処理の概要 に置き換えることを検討してください。

解説

多くの場合、InStr 関数は文字列を解析するときに使用します。

8460tsh1.alert_note(ja-jp,VS.90).gifメモ :

以前のバージョンの 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)

参照

概念

プログラミング要素のサポートに関する変更の概要

参照

InStrRev 関数 (Visual Basic)

Option Compare ステートメント

StrComp 関数 (Visual Basic)

ArgumentException

その他の技術情報

Visual Basic における文字列

Visual Basic の文字列の概要