JavaScriptのStringオブジェクトのsearch()メソッドについて記載します。
概要、実際のサンプルコードを交えて構文などの使い方をまとめてみました。
JavaScriptのStringオブジェクトとは?
JavaScript(JS) のStringオブジェクト(文字列)は、他の言語と比べて、動的なデータ型として定義されています。
そして、 他のプログラミング言語 (C 言語など) とは異なり、文字列のメソッドが豊富に用意されています。
また、文字列と数値を効率的に相互変換する方法も提供されています。
事前に定義されたメソッドを利用して文字列操作が容易に出来る点も他言語と比べても有利な点ですが、他の言語と比べて一部の文字列処理が遅くなることがあるとも言われています。
それでは、次に本題の説明に移ります。
JavaScriptのStringオブジェクトのsearch()概要
Stringオブジェクトのsearch()は、文字列内に特定の文字列が存在するかどうかを検索するためのメソッドです。
検索には正規表現を使用することができ、検索に一致した場合はその位置を返します。
構文、使い方
構文:string.search(regexp)
使い方:文字列string内で正規表現regexpに一致する部分を検索し、その位置を返します。一致しない場合は-1を返します。
引数について
search()の引数は、正規表現オブジェクトを指定します。
返り値について
search()は、文字列内で指定した正規表現にマッチした最初のインデックスを返します。
マッチしない場合は-1を返します。
このメソッドを利用した便利なテクニック
Stringオブジェクトのsearch()を使うと、文字列内に特定の文字列が含まれているかどうかを検索することができます。
例えば、文字列内にある特定の文字列を取得するために、正規表現を使用して検索することができます。
現場で実際にどのように使われているか
Stringオブジェクトのsearch()は、文字列内に特定の文字列が存在するかどうかを確認するために使用されます。
例えば、文字列内に特定の文字列があるかどうかを確認するために、次のようなコードを使用することができます。
1 2 3 4 |
var str = ""Hello World!""; var result = str.search(""World""); // resultは6が返されます |
JavaScriptのStringオブジェクトのsearch()と一緒によく使われる処理
RegExpオブジェクトを使用することです。
search()は正規表現を使用して文字列を検索するため、RegExpオブジェクトを使用することで、より複雑な検索を行うことができます。
使用する上での注意点
– 検索文字列には正規表現を使用できますが、文字列リテラルを使用する場合は、文字列をエスケープする必要があります。
JavaScriptのStringオブジェクトのsearch()と似た処理のJSメソッド、違い
indexOf()と似ていますが、下記違いがあります。
- search()は正規表現を使用できる
- indexOf()は正規表現を使用できない
JavaScriptのStringオブジェクトのsearch()を使ったサンプルコードの紹介
Stringオブジェクトのsearch()の使用例
1 2 3 4 5 6 7 8 |
// 検索文字列を指定 var str = 'JavaScriptを勉強中です'; // 検索文字列を検索 var result = str.search('JavaScript'); // 結果を表示 console.log(result); |
1 2 3 4 5 6 7 8 |
// 検索文字列を指定 var str = 'JavaScriptを勉強中です'; // 検索文字列を検索 var result = str.search('PHP'); // 結果を表示 console.log(result); |
JavaScript stringオブジェクトの他メソッドについて
JavaScriptのstringオブジェクトの他メソッドについては、下記記事にもまとめていますので参考にしてみてください
また、JavaScriptの公式ドキュメントであるMDNで記載されているstringオブジェクトのsearchメソッドについても補足としてリンクを貼っておきます。参考にしてみてください。
