VBScript: 文字列を右から検索する InstrRev()
VBScriptで文字列を右から(後ろから)検索する場合は、 InstrRev()関数を使用します。
左から(前から)検索する場合は Instr()関数 を使用します。
InstrRev()関数の書式は次の通りです。
書式
InstrRev(文字列, 検索ワード [, 開始位置 [, 比較モード]])
検索ワードを右から(後ろから)検索して、
見つかった位置を返します。
位置は文字列の先頭からの位置で、後ろからの位置ではありません。
見つからなかった場合の戻り値は「0」です。
「開始位置」と「比較モード」は省略可能です。
開始位置を省略すると文字列の最後から検索します。
InstrRev()関数とInstr()関数は引数の順番が異なるので注意が必要です。
「比較モード」の値は次の通りで、省略した場合はバイナリーモードでの 検索となります。
定数 | 値 | 概要 |
---|---|---|
vbBinaryCompare | 0 | 大文字小文字を区別する(バイナリーモード) |
vbTextCompare | 1 | 大文字小文字を区別しない(テキストモード) |
次のサンプルコードはInstrRev()関数を使って文字列を右から検索しています。
開始位置を指定しない場合と指定した場合の違いや、
ヒットしない場合の戻り値が「0」であることが確認できます。
str = "abcdeabcde" WScript.Echo InStrRev(str, "abc") ' 6 '開始位置を指定 WScript.Echo InStrRev(str, "abc", 6) ' 1 '見つからない場合 WScript.Echo InStrRev(str, "xyz") ' 0