JavaScriptの文字列(String) lastIndexOfメソッドの使い方

プログラミング

JavaScriptのStringオブジェクトのlastIndexOf()メソッドについて記載します。
概要、実際のサンプルコードを交えて構文などの使い方をまとめてみました。

JavaScriptのStringオブジェクトとは?

JavaScript(JS) のStringオブジェクト(文字列)は、他の言語と比べて、動的なデータ型として定義されています。
そして、 他のプログラミング言語 (C 言語など) とは異なり、文字列のメソッドが豊富に用意されています。
また、文字列と数値を効率的に相互変換する方法も提供されています。
事前に定義されたメソッドを利用して文字列操作が容易に出来る点も他言語と比べても有利な点ですが、他の言語と比べて一部の文字列処理が遅くなることがあるとも言われています。

それでは、次に本題の説明に移ります。

JavaScriptのStringオブジェクトのlastIndexOf()概要

lastIndexOf()は、文字列の末尾から指定した文字列を検索し、その文字列の最後のインデックスを返します。

構文、使い方

構文:str.lastIndexOf(searchValue[, fromIndex])

使い方:文字列str内からsearchValueを検索し、最後に見つかった位置のインデックスを返します。fromIndexを指定すると、その位置から検索を開始します。

引数について

lastIndexOf()の引数は、検索したい文字列や文字列を含むオブジェクト、検索を開始するインデックスを指定します。

返り値について

lastIndexOf()は、指定した文字列が最後に現れる位置のインデックスを返します。

このメソッドを利用した便利なテクニック

lastIndexOf()を使うと、文字列内の特定の文字列の最後のインデックスを取得できます。

これを使うと、文字列内の特定の文字列が最後に出現する位置を検索したり、文字列内の特定の文字列が最後に出現する位置までの文字列を取得したりすることができます。

現場で実際にどのように使われているか

StringオブジェクトのlastIndexOf()は、文字列の末尾から指定した文字列を検索し、その文字列が最後に見つかった位置のインデックスを返します。

例えば、次のコードは、文字列””Hello World””の末尾から文字列””World””を検索して、その文字列が最後に見つかった位置のインデックスを返します。

JavaScriptのStringオブジェクトのlastIndexOf()と一緒によく使われる処理

StringオブジェクトのlastIndexOf()は、文字列内の指定した文字列の最後のインデックスを取得するために使用されます。

そのため、lastIndexOf()を使用して文字列内の最後の文字列を取得するために、substring()を使用することがよくあります。

substring()は、指定したインデックスから文字列を取得するために使用されます。

使用する上での注意点

lastIndexOf()は、検索文字列が見つからない場合は-1を返します。

JavaScriptのStringオブジェクトのlastIndexOf()と似た処理のJSメソッド、違い

indexOfと名前も似ていますが、下記違いがあります。

  • indexOf():文字列内で指定した文字列が最初に出現する位置を返す
  • lastIndexOf():文字列内で指定した文字列が最後に出現する位置を返す

JavaScriptのStringオブジェクトのlastIndexOf()を使ったサンプルコードの紹介

StringオブジェクトのlastIndexOf()を使ったサンプルコード

7

7

 

10

JavaScript stringオブジェクトの他メソッドについて

JavaScriptのstringオブジェクトの他メソッドについては、下記記事にもまとめていますので参考にしてみてください

メソッド名 機能 リンク
charAt() 指定されたインデックス(位置)で文字を返します JavaScriptの文字列(String) chartAtメソッドの使い方
charCodeAt() 指定されたインデックスで文字のユニコードを返します JavaScriptの文字列(String) charCodeAtメソッドの使い方
concat() 2つ以上の結合された文字列を返します JavaScriptの文字列(String) concatメソッドの使い方
endsWith() 文字列が指定された値で終了する場合に返されます JavaScriptの文字列(String) endsWithメソッドの使い方
fromCharCode() Unicode値を文字として返します JavaScriptの文字列(String) fromCharCodeメソッドの使い方
includes() 文字列に指定された値が含まれている場合に返されます JavaScriptの文字列(String) includesメソッドの使い方
indexOf() 文字列内の値の最初の発生のインデックス(位置)を返します JavaScriptの文字列(String) indexOfメソッドの使い方
lastIndexOf() 文字列内の値の最後の発生のインデックス(位置)を返します JavaScriptの文字列(String) lastIndexOfメソッドの使い方
localeCompare() 現在のロケールの2つの文字列を比較します JavaScriptの文字列(String) localCompareメソッドの使い方
match() 文字列を値、または正規表現を検索し、一致を返します JavaScriptの文字列(String) matchメソッドの使い方
repeat() 文字列のコピーが多数ある新しい文字列を返します JavaScriptの文字列(String) repeatメソッドの使い方
replace() 文字列を値または正規表現を検索し、値が置き換える文字列を返します JavaScriptの文字列(String) replaceメソッドの使い方
search() 文字列を値または正規表現を検索し、一致のインデックス(位置)を返します JavaScriptの文字列(String) searchメソッドの使い方
slice() 文字列の一部を抽出し、新しい文字列を返します JavaScriptの文字列(String) sliceメソッドの使い方
split() 文字列を一連のサブストリングに分割します JavaScriptの文字列(String) splitメソッドの使い方
startsWith() 文字列が指定された文字で始まるかどうかを確認します JavaScriptの文字列(String) startWithメソッドの使い方
substr() Start Index(位置)から文字列から多数の文字を抽出します JavaScriptの文字列(String) substrメソッドの使い方
substring() 2つの指定されたインデックス(位置)の間に文字列から文字を抽出します JavaScriptの文字列(String) substringメソッドの使い方
toLocaleLowerCase() ホストのロケールを使用して、小文字に変換された文字列を返します JavaScriptの文字列(String) toLocaleLowerCaseメソッドの使い方
toLocaleUpperCase() ホストのロケールを使用して、大文字に変換された文字列を返します JavaScriptの文字列(String) toLocaleUpperCaseメソッドの使い方
toLowerCase() 小文字に変換された文字列を返します JavaScriptの文字列(String) toLowerCaseメソッドの使い方
toString() 文字列または文字列オブジェクトを文字列として返します JavaScriptの文字列(String) toStringメソッドの使い方
toUpperCase() 大文字に変換された文字列を返します JavaScriptの文字列(String) toUpperCaseメソッドの使い方
trim() 削除された空白で文字列を返します JavaScriptの文字列(String) trimメソッドの使い方
trimEnd() 端から削除されたホワイトスペースで文字列を返します JavaScriptの文字列(String) trimEndメソッドの使い方
trimStart() 削除された空白で文字列を返します JavaScriptの文字列(String) trimStartメソッドの使い方

また、JavaScriptの公式ドキュメントであるMDNで記載されているstringオブジェクトのlastIndexメソッドについても補足としてリンクを貼っておきます。参考にしてみてください。

String.prototype.lastIndexOf() - JavaScript | MDN
lastIndexOf() は String 値のメソッドで、この文字列を検索し、指定した部分文字列が最後に出現するインデックスを返します。オプションで開始位置を取り、指定した数値以下のインデックスにおいて、指定した部分文字列が最後にに出現するインデックスを返します。
タイトルとURLをコピーしました