JavaScriptにおける「文字列を検索する」メソッドについて、自己の忘備録としてまとめています。
参考URL
参考著書
文字列の検索① 〜インデックスを調べる〜
文字列がどの位置にあるかを調べたい時に使用するメソッドです。
indexOf()
indexOf()メソッドは、「対象の文字列」から「検索する文字列」が最初に現れたインデックス(位置)を返します。
インデックスは0から始まり、値が見つからない場合は−1を返します。
const myStr = 'JavaScriptの基礎';
// 検索した文字が含まれる場合
const result1 = myStr.indexOf('JavaScript');
console.log(result1); // 結果:0
const result2 = myStr.indexOf('基礎');
console.log(result2); //結果:11
//検索した文字が含まれない場合
const result3 = myStr.indexOf('CSS');
console.log(result3); //結果:-1
const result4 = myStr.indexOf('j')
console.log(result4); //結果:-1 => 大文字と小文字が区別されるため
lastIndexOf()
lastIndexOf()メソッドは、「対象の文字列」から「検索する文字列」が最後に現れたインデックス(位置)を返します。
const myStr = 'JavaScriptの基礎';
const result1 = myStr.lastIndexOf('a');
console.log(result1); //結果:3
検索開始インデックスを指定すると、指定されたインデックスから検索します。
インデックスを省略した場合は、検索開始のインデックスは0となります。
const myStr = 'JavaScriptの基礎';
const result1 = myStr.indexOf('JavaScript', 3)
console.log(result1); //結果:-1
search()
search()メソッドは、正規表現で一致するかどうかを調べるメソッドです。
const myStr = 'JavaScriptの基礎';
const result1 = myStr.search(/JavaScript/)
console.log(result1); //結果:0
const result2 = myStr.search(/CSS/)
console.log(result2); //結果:1-
文字列の検索② 〜含まれているかを調べる〜
文字列が含まれているか調べたい時や、入力フォームなどで不適切な語句が含まれていないかを調べるときに使用します。
includes()
includes()メソッドは、文字列がどこかに含まれている場合にtrueとなります。
const myStr = 'JavaScriptの基礎';
const result = myStr.includes('JavaScript')
console.log(result); //結果:true
startsWith()
startsWith()メソッドは、文字列の最初が引数と同じであるかどうかを調べます。
const myStr = 'JavaScriptの基礎';
const result1 = myStr.startsWith('JavaScript');
console.log(result1); //結果:true
const result2 = myStr.startsWith('基礎');
console.log(result2); //結果:false
endsWith()
endsWith()メソッドは、文字列の末尾が引数と同じであるかどうかを調べます。
const myStr = 'JavaScriptの基礎';
const result1 = myStr.endsWith('JavaScript');
console.log(result1); //結果:false
const result2 = myStr.endsWith('基礎');
console.log(result2); //結果:true