JavaScriptで文字列を検索する方法を現役エンジニアが解説【初心者向け】
初心者向けにJavaScriptで文字列を検索する方法について現役エンジニアが解説しています。JavaScriptのindexOf・search・match・testメソッドを使って文字列を検索する方法や正規表現を使って文字列を検索する方法を解説します。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
JavaScriptで文字列を検索する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使って初心者向けに解説します。
JavaScriptについてそもそもよく分からないという方は、JavaScriptとは何なのか解説した記事をまずご覧ください。
なお本記事は、TechAcademyのオンラインブートキャンプ、JavaScript/jQuery講座の内容をもとにしています。

今回は、JavaScriptに関する内容だね!

どういう内容でしょうか?

JavaScriptで文字列を検索する方法について詳しく説明していくね!

お願いします!
目次
- 文字列を検索する方法
- indexOfメソッドを使って文字列を検索する方法
- lastIndexOfメソッドを使って文字列を検索する方法
- 正規表現とは
- searchメソッドを使って文字列を検索する方法
- matchメソッドを使って文字列を検索する方法
- testメソッドを使って文字列を検索する方法
- 実際に書いてみよう
文字列を検索する方法
文字列の検索(一致確認)は、プログラムをするうえで避けては通れないところですね。
文字列の検索には幾つかのやり方があると思います。そこで、初心者の方も中級者の方も改めて文字列検索の方法を整理してみましょう。
indexOfメソッドを使って文字列を検索する方法
indexOfメソッドは、文字列の中に検索対象の文字があるかを検索し、一致する文字の位置情報を返します。検索の開始位置を指定できるのと、配列に使った場合は一致した要素のインデックスを返します。
lastIndexOfメソッドを使って文字列を検索する方法
lastindexOfメソッドは、indexOfとほぼ同じですが、検索が後ろからになるところが違います。位置を指定した場合で、それ以前に一致する文字列がない場合は、一番最後に戻りそこから検索を始めます。
実は私も!?独学で損する人の特徴
「スクールは高いから独学で成功する」という気持ちの方は多いと思います。
もちろんその方が金額は低く抑えられるでしょう。
ただ
独学には向き不向きがあり、実はスクールが向いている人も大勢います。
そんな方のために参考として、
テックアカデミー卒業生がスクールを選んだ理由
をご紹介します。
- ・困って挫折しそうなときに、質問や相談できる相手がいる環境で学んでいきたいなと思った
- ・わかった気になっているだけだったので、自分を追い込む環境に置いた方がいいと感じた
- ・スクールのカリキュラムで市場に求められるスキルを学ぶべきと思った

少しでも当てはまる部分があれば、
スクールが向いているかもしれません。
お試しのつもりで、まずは一度
無料相談
に参加してみませんか?
現役エンジニア・デザイナーに何でも気軽に相談できる30分
を
すべて無料で
できます。
無理な勧誘は一切ない
ので、お気軽にご参加ください。
正規表現とは
文字列の検索をする時に、文字列のパターンを利用して検索する時に用います。
パターンと言われてもよくわからないと思いますが、電話番号などをイメージするとわかりやすいかと思います。携帯は「000-0000-0000」のように数字3桁-数字4桁-数字4桁となっているのがわかると思います。
このような汎用化できるものをパターンと言います。このパターンをプログラム中で使えるようにしているのが正規表現です
searchメソッドを使って文字列を検索する方法
正規表現を使って文字列の検索を行えいるメソッドの一つです。searchメソッドを利用すると検索対象を頭から検索し、見つかった対象の文字を返却します。
matchメソッドを使って文字列を検索する方法
同じ、正規表現を使った文字列検索でもmatchメソッドは、返却が配列で返されるのが特徴です。検索対象を頭から検索し、見つかった対象の文字をすべて配列にして返してくれます。
testメソッドを使って文字列を検索する方法
testメソッドは、正規表現が正しいかを確認するイメージが強いです。使い方はsearchやmatchと違い、正規表現側でtestメソッドを利用します。
検索対象に対して正規表現の検索で対象の文字列があればtrueとなります。
実際に書いてみよう
<html> <head> <metacharset="UTF-8"> <title>JavaScriptで文字列を検索する方法を現役エンジニアが解説【初心者向け】</title> </head> <body> <h1>JavaScriptで文字列を検索する方法を現役エンジニアが解説【初心者向け】</h1> <scripttype="text/javascript"> // indexOf()の場合 var str1 = 'メロン、いちご、すいか、みかん、ぶどう、きいちご'; var index1 = str1.indexOf('いちご'); console.log(index1); var index2 = str1.indexOf('いちご', 10); console.log(index2); // lastIndexOf()の場合 var str2 = "こんにちは、太郎。私は、花子です。そして、あの人は幸太郎です。"; var index3 = str2.lastIndexOf("太郎"); var index4 = str2.lastIndexOf("太郎", 10); // search()の場合 var str3 = '私の住所は、111-1234です。あなた住所は、999-9876です。'; match_pattern = /d{3}-d{4}/g; r = base_str.search(match_pattern); console.log(r); // match()の場合 var str4 = "私の電話は、090-1111-2222です。あなたの番号は、080-9999-8888です。"; match_pattern = /d{3}-d{4}-d{4}/g; r = base_str.match(match_pattern); if (r) { for(vari=0; i<r.length; i++) { console.log(r[i]); } } else { console.log("該当なし"); } // test()の場合 var str5 = "America、France、Spain、Japan、China"; match_pattern = /w+?an/g; r = match_pattern.test(str5); console.log(r); </script> </body> </html>
筆者プロフィール
小宮山晃史(こみやまこうじ)
現在はOracle系システムの導入コンサルに勤め、仕事でコーディングをする機会は少なくなくなっているが、ライフワークで数多くの言語を勉強中。 iphoneのアプリ開発やWEBサーバの構築など幅広く挑戦しています。 |

内容分かりやすくて良かったです!

ゆかりちゃんも分からないことがあったら質問してね!

分かりました。ありがとうございます!
TechAcademyでは、初心者でも、JavaScript・jQueryを使ったWebサービス公開を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。

プログラミングを独学していて、このように感じた経験はないでしょうか?
- ・調べてもほしい情報が見つからない
- ・独学のスキルが実際の業務で通用するのか不安
- ・目標への学習プランがわからず、迷子になりそう
テックアカデミーでは、このような
学習に不安を抱えている方へ、現役エンジニア講師とマンツーマンで相談できる機会を無料で提供
しています。
30分間、オンラインでどんなことでも質問し放題です。
「受けてよかった」と感じていただけるよう
厳しい試験を通過した講師
があなたの相談に真摯に向き合います。
「ただ気になることを相談したい」
「漠然としているがプロの話を聞いてみたい」
こんな気持ちでも大丈夫です。
無理な勧誘は一切ありません
ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)