文字列の中にとある文字列が含まれているか検索するには、InStr 関数または InStrRev 関数を使う。
先頭から検索するときは InStr 関数を、末尾から検索するときは InStrRev 関数を使う。
どちらの関数も、最初に見つかった文字の位置(先頭からその文字までの文字数)を返す。
見つからない場合は 0 が返る。
先頭から検索する
InStr 関数は、指定された文字列をある文字列の先頭から検索する。
InStr([start, ]string1, string2[, compare])引数
start: 検索開始位置。文字列の先頭を 1 とする。
省略した場合、先頭から検索される。string1: 元の文字列
string2: string1 の中から検索する文字列
compare: 文字列の比較モード
戻り値
- string1 が空文字のとき: 0
- string1 が Null 値のとき: Null 値
- string2 が空文字のとき: start
- string2 が Null 値のとき: Null 値
- string2 が見つからないとき: 0
- string2 が string1 内で見つかったとき: 最初に文字列が見つかった位置
- start > string2 の文字数 のとき: 0
末尾から検索する
InStrRev 関数は、指定された文字列をある文字列の末尾から検索する。
InStrRev(string1, string2[, start[, compare]])引数
string1: 元の文字列
string2: string1 の中から検索する文字列
start: 検索開始位置。文字列の先頭を 1 とする。
省略した場合、末尾から検索される。compare: 文字列の比較モード
戻り値
- string1 が空文字のとき: 0
- string1 が Null 値のとき: Null 値
- string2 が空文字のとき: start
- string2 が Null 値のとき: Null 値
- string2 が見つからないとき: 0
- string2 が string1 内で見つかったとき: 最初に文字列が見つかった位置
- start > string2 の文字数 のとき: 0
サンプルスクリプト
半角スペースを検索する。
pos = InStr("1868/09/08 10:35:27", " ") ' → 11 pos = InStrRev("1868/09/08 10:35:27", " ") ' → 11
検索する文字列に長さ 0 の文字列を指定した場合、 InStr 関数は 1 を返す。
InStrRev 関数は元の文字列の文字数(末尾の文字の位置)を返す。
pos = InStr("1868/09/08", "") ' → 1 pos = InStrRev("1868/09/08", "") ' → 10