要約: このチュートリアルでは、JavaScript 文字列 lastIndexOf()
メソッドを使用して、文字列で部分文字列の最終出現位置を探す方法について学習します。
JavaScript 文字列 lastIndexOf() メソッドの紹介
String.prototype.lastIndexOf()
は、str
(文字列) 内のサブ文字列 (substr
) の最終出現位置を返します。
str.lastIndexOf(substr, [, fromIndex]);
Code language: JavaScript (javascript)
str
に substr
が含まれない場合は -1 を返します。
lastIndexOf()
メソッドは、サブ文字列を fromIndex
から後ろ向きに検索します。fromIndex
はオプションで、デフォルトは +Infinity
です。つまり、fromIndex
を省略すると、検索は文字列の末尾から開始されます。
fromIndex
が str.length
より大きいまたは等しい場合、lastIndexOf()
は文字列全体で substr
を検索します。
fromIndex
が 0 より小さい場合、検索の動作は fromIndex
が 0 である場合と同じになります。
lastIndexOf()
は常に大文字と小文字を区別した検索を実行します。
文字列内でサブ文字列の最初の出現位置のインデックスを見つけるには、indexOf()
メソッドを使用します。
JavaScript 文字列 lastIndexOf() の例
lastIndexOf()
メソッドを使用するいくつかの例を見てみましょう。
1) lastIndexOf() メソッドを使用する
この例では、lastIndexOf()
メソッドを使用して、文字列 'JavaScript'
内にサブ文字列 'a'
の最終出現位置を見つける方法を示します。
let str = 'JavaScript';
let index = str.lastIndexOf('a');
console.log(index);
Code language: JavaScript (javascript)
出力
3
Code language: JavaScript (javascript)
文字列に fromIndex
引数を渡すと、lastIndexOf()
メソッドは次の例で示すように fromIndex
から後ろ向きに検索を開始します。
let str = 'JavaScript';
let index = str.lastIndexOf('a',2);
console.log(index);
Code language: JavaScript (javascript)
出力
1
Code language: JavaScript (javascript)
2) lastIndexOf() と大文字と小文字の区別
lastIndexOf()
は大文字と小文字を区別します。次の例では -1 を返します。
let str = 'Hello, World!';
let substr = 'L';
let index = str.lastIndexOf(substr);
console.log(index); // -1
Code language: JavaScript (javascript)
文字列内でサブ文字列の最終出現位置のインデックスで大文字と小文字を区別しない検索を実行するには、lastIndexOf()
メソッドを適用する前にサブ文字列と文字列の両方を小文字に変換します。
let str = 'Hello, World!';
let substr = 'L';
let index = str.toLocaleLowerCase().lastIndexOf(substr.toLocaleLowerCase());
console.log(index); // -1
Code language: JavaScript (javascript)
要約
lastIndexOf()
は、文字列内にあるサブ文字列の最終出現位置のインデックスを返します。文字列にサブ文字列が含まれていない場合は -1 を返します。文字列の末尾から、またはこの引数が使用可能な場合はfromIndex
からサブ文字列を後ろ向きに検索します。lastIndexOf()
は、大文字と小文字を区別した検索を実行します。