VBScript: 文字列を検索する Instr()
VBScriptで文字列を検索する場合は、 Instr()関数を使用します。
Instr()関数の書式は次の通りです。
書式
Instr([開始位置,] 文字列, 検索ワード [, 比較モード])
文字列から検索ワードを検索し、最初に見つかった位置を返します。
検索開始位置からの位置ではなく、文字列の先頭からの位置を返します
(VBScriptでは、文字列の先頭位置は「0」ではなく「1」です)。
検索ワードが見つからなかった場合の戻り値は「0」です。
「開始位置」と「比較モード」は省略可能です。 開始位置を省略すると先頭から検索します。
「比較モード」の値は次の通りで、省略した場合はバイナリーモードでの 検索となります。
定数 | 値 | 概要 |
---|---|---|
vbBinaryCompare | 0 | 大文字小文字を区別する(バイナリーモード) |
vbTextCompare | 1 | 大文字小文字を区別しない(テキストモード) |
次のサンプルコードはInstr()関数を使って文字列を検索しています。
先頭にヒットした場合の戻り値が「1」で、
ヒットしない場合の戻り値が「0」であることが確認できます。
str = "abcdefg" WScript.Echo InStr(str, "abc") ' 1 WScript.Echo InStr(str, "efg") ' 5 '見つからない場合 WScript.Echo InStr(str, "xyz") ' 0
次のサンプルコードでは、 バイナリーモードとテキストモードでの動作の違いを確認しています。
'大文字 str = "ABCDEFG" WScript.Echo InStr(str, "abc") ' 0(見つからない) WScript.Echo InStr(1, str, "abc", vbTextCompare) ' 1(先頭に見つかった)