VBScript: 文字列を右から検索する InstrRev()

VBScriptで文字列を右から(後ろから)検索する場合は、 InstrRev()関数を使用します。

左から(前から)検索する場合は Instr()関数 を使用します。

InstrRev()関数の書式は次の通りです。

書式
InstrRev(文字列, 検索ワード [, 開始位置 [, 比較モード]])

検索ワードを右から(後ろから)検索して、 見つかった位置を返します。 位置は文字列の先頭からの位置で、後ろからの位置ではありません。
見つからなかった場合の戻り値は「0」です。

「開始位置」と「比較モード」は省略可能です。 開始位置を省略すると文字列の最後から検索します。
InstrRev()関数とInstr()関数は引数の順番が異なるので注意が必要です。

「比較モード」の値は次の通りで、省略した場合はバイナリーモードでの 検索となります。

定数概要
vbBinaryCompare0大文字小文字を区別する(バイナリーモード)
vbTextCompare1大文字小文字を区別しない(テキストモード)

次のサンプルコードはInstrRev()関数を使って文字列を右から検索しています。
開始位置を指定しない場合と指定した場合の違いや、 ヒットしない場合の戻り値が「0」であることが確認できます。

str = "abcdeabcde"

WScript.Echo InStrRev(str, "abc")    ' 6

'開始位置を指定
WScript.Echo InStrRev(str, "abc", 6) ' 1

'見つからない場合
WScript.Echo InStrRev(str, "xyz")    ' 0
VBScript入門