JavaScript - 文字列を検索する

indexOf

indexOf の構文は以下のとおりです。

str.indexOf(searchValue[, fromIndex])
文字列を検索する - indexOf
searchValue
検索する対象の文字列です。
fromIndex
検索する最初の位置を表す整数です。初期値は 0 です。このパラメータは、オプションであるため省略可能です。

indexOf の返り値は searchValue で初めて出現したインデックスを返します。最初の文字は 0 から始まる点に注意してください。検索する文字が見つからなかった場合は -1 を返します。

// 任意の文字列
var str = 'abcdefgh';
 
// 「e」を検索する
var result = str.indexOf("e");
 
console.log(result); // 4
文字列を検索する - indexOf

search

search の構文は以下のとおりです。

str.search(regexp)
文字列を検索する - search
regexp
正規表現が利用可能なオブジェクトです。正規表現ではないオブジェクトが渡された場合は RegExp オブジェクトに暗黙的に変換されます。

search の返り値は、与えられた文字列と正規表現の間で最初にマッチした箇所のインデックスを返します。マッチしなかった場合は -1 を返します。

var str = "hey Jude.";
var re = /[A-Z]/g;

console.log(str.search(re)); // 4
文字列を検索する - search

match

match の構文は以下のとおりです。

str.match(regexp)
文字列を検索する - match
regexp
正規表現が利用可能なオブジェクトです。正規表現ではないオブジェクトが渡された場合は RegExp オブジェクトに暗黙的に変換されます。

match の返り値は、Array オブジェクト返します。ただし、正規表現のグローバルフラグ (g) の有無によって内容が変化します。マッチしなかった場合は null を返します。

  • g フラグがある場合、正規表現にマッチしたすべての結果を返します。
  • g フラグがない場合、正規表現にマッチした最初の結果のみを返します。
/* グローバルフラグがない場合 */
var str = 'abcdefgh';
var re = /[a-c]/;

console.log(str.match(re));
// ["a", index: 0, input: "abcdefgh", groups: undefined]


/* グローバルフラグがある場合 */
str = 'abcdefgh';
re = /[a-c]/g;

console.log(str.match(re));
// ["a", "b", "c"]
文字列を検索する - match

test

test の構文は以下のとおりです。

regexObj.test(str)
文字列を検索する - test
str
正規表現にマッチさせる文字列です。

test の返り値は、正規表現と指定した文字列に一致するものがあった場合は true、そうでない場合は false を返します。

var str = "hello world!";
var result = /^hello/.test(str);
console.log(result); // true
文字列を検索する - test

関連記事

Category:
プログラミング
公開日:
更新日:
Pageviews:
26
Shares:
1
Tag:
JavaScript
コードレシピ