【JavaScript】文字列を検索するメソッド「search()」を解説

こんにちは!Kです!

今回も前回に続き、JavaScriptで文字列を検索するときに使うメソッドについて書いていきます。

全4回に分けて文字列を検索するメソッドについて各々の記事で解説しています。
ちなみに解説する4つのメソッドは以下の通りです。

・indexOf()
・search()
・match()
・test()

今回の記事では「search()」について解説していきます。

前回の「indexOf()」を解説した記事をまだ読んでいな方は、ぜひそちらも併せてお読みください!

それでは解説どうぞ!

search()

search()メソッドは、対象の文字列(Stringオブジェクト)に対して、正規表現を使って一致しているかを調べるためのメソッドです。

search()メソッドの構文をみてみましょう!

str.search(regexp)

引数の意味は以下の通りです。

regexp
正規表現のオブジェクト。
※ 正規表現ではないオブジェクトが渡された場合、new RegExp(regexp)を使用してRegExpオブジェクトに暗黙的に変換されます。

コード例

// 任意の文字列
var str = 'CodeClub965';

// 正規表現:半角数字で検索
var regex = /[0-9]/;
var result = str.search(regex);
console.log('検索結果:' + result);

■実行結果

検索結果:8

search()の返り値は、対象の文字列に対して正規表現に最初に一致した位置を返します。
また、返り値となる最初の文字は「0」から始まるのでその点も気をつけてください。
上の例では、対象の文字列から正規表現で半角数字を検索しており、最初に見つかる「9」の位置が「8」であることがわかります。

ちなみに一致するものがない場合は返り値は「-1」を返します。

次回の記事はmatch()メソッド

今回はsearch()メソッドについて解説しました。
正規表現を使えるところがindexOf()メソッドとは違いましたね!

正規表現がよく分からないという方はネットで調べてみてください!
使える情報がたくさんあるので色々な記事を読んだらいいと思います。

次回はmatch()メソッドについて解説します!

それでは、また!

Follow me!

【JavaScript】文字列を検索するメソッド「search()」を解説” に対して2件のコメントがあります。

コメントは受け付けていません。