InStrRev 関数
任意の文字列の中で、指定した文字列を最後から検索して、見つかった場合、任意の文字列の先頭からの位置を返します。
任意の文字列の先頭から検索する場合は、InStr 関数・InstrB 関数 を使います(文字列:文字列を検索してその最初の文字位置を返す(InStr 関数,InStrB 関数) を参照)。
【書式】
result = InStrRev ( string1, string2 [, start, compare ] )
引数・戻り値
- string1 ・・・ 検索対象の文字列・文字列式を指定します(省略不可)。
- string2 ・・・ 引数 string1 内で、検索する文字列を指定します(省略不可)。
- start ・・・ 検索の開始位置を指定します。省略すると -1 が使用され、最後の文字位置から検索を開始します。引数 start に Null 値が含まれると、エラーになります。
- compare ・・・ 文字列式を評価するときに使用する文字列比較のモードを表す VbCompareMethod 列挙型の定数またはその値を指定します。省略すると、バイナリモード(vbBinaryCompare)で比較が行われます。
定数 値 内容 vbBinaryCompare 0 バイナリモードの比較 vbTextCompare 1 テキストモードの比較(大文字・小文字を同一視) - result ・・・ InStrRev 関数の戻り値。
内容 戻り値 string1 が長さ 0 の文字列 (“”) のとき 0 string1 が Null 値のとき Null 値 string2 が長さ 0 の文字列 (“”) のとき start string2 が Null 値のとき Null 値 string2 が見つからないとき 0 string2 が string1 内で見つかったとき 見つかった文字列の位置 start の値がstring2 の文字数より大きいとき 0
InStrRev 関数 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Sub sample_InStrRev() Dim str As String str = "ABCDEabcZZZ" Debug.Print InStrRev(str, "Z", -1, vbBinaryCompare) Debug.Print InStrRev(str, "Z", 9, vbBinaryCompare) Debug.Print InStrRev(str, "ABC", -1, vbTextCompare) Debug.Print InStrRev(str, "ABC") End Sub |