怠日記

写真・金魚・昆虫・プログラミングの趣味を語るサイトです。似たようなことをnoteにも書いたり書いてなかったり。

VBScript - 文字列を検索する | InStr, InStrRev 関数

文字列の中にとある文字列が含まれているか検索するには、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