ある文字列を別の文字列の後ろから順番に探し、最初に見つかったものが(前から数えて)何文字目にあるのか(何文字目から始まっているのか)を表す値を返します。
使用例
表記例 | 出力例 | 説明 |
---|---|---|
InStrRev("ABCDEあいうえおABCDE","B") | 12 | 「B」という文字を「ABCDEあいう…」という文字列の後ろから探した場合、最初に見つかるものは前から数えて12文字目ですので12を返します |
InStrRev("ABCDEあいうえおABCDE","BC") | 12 | 「BC」という文字列は同じく12文字目から始まりますので12を返します。あくまで「BC」という文字列を前から数えた位置が返りますので13ではなく12となります |
InStrRev("ABCDEあいうえおABCDE","BC",6) | 2 | 検索開始位置を指定することもできます。前から6文字目の「あ」からさかのぼって「BC」という文字列を検索すると、前から数えて2文字目の位置で見つかりますので2が返されます |
InStrRev("ABCDEあいうえおABCDE","bc") | 12 | 特に指定しない限り大文字と小文字、全角と半角、ひらがなとカタカナは区別されません(同一視されます) |
InStrRev("ABCDEあいうえおABCDE","bc",15,0) | 0 | 4番目の引数0は大文字と小文字、全角と半角、ひらがなとカタカナは区別する(同一視しない)ことを表します。4番目の引数を指定する場合、検索開始位置の指定は省略できません。また、指定した文字列が見つからない場合は0が返されます |
InStrRev("ABCDEあいうえおABCDE","bc",15,1) | 12 | 4番目の引数1は大文字と小文字、全角と半角、ひらがなとカタカナは区別しない(同一視する)ことを表します |
InStrRev("ABCDEあいうえおABCDE","") | 15 | 空文字を検索すると文字列の最後の文字の位置が返されます。この場合16ではなく15となりますので注意が必要です |
書式
InStrRev(文字列,検索対象文字列[,検索開始位置,比較モード])
InstrRev関数の場合、なぜか検索開始位置が最初の引数になっていましたが、InstrRev関数では3番目の引数となっています。比較モードを指定する場合は検索開始位置を省略できません。
比較モードとして指定できる値と意味は次のとおりです。省略した場合は-1を指定したものとみなされます。
比較モード | 意味 |
---|---|
-1 | Option Compare ステートメントの設定により比較 |
0 | バイナリモードで比較(大文字と小文字、全角と半角、ひらがなとカタカナは区別する(同一視しない)) |
1 | テキストモードで比較(大文字と小文字、全角と半角、ひらがなとカタカナは区別しない(同一視する)) |
2 | データベースの情報に基づいて比較 |