JavaScript lastIndexOf 末尾から文字列の位置を取得

JavaScriptのlastIndexOf メソッドで、末尾から検索して文字列の位置を取得するサンプルです。

目次

説明 末尾から検索して文字列の位置を取得する
サンプル 1文字検索する
  検索対象が文字列の場合
  検索する文字が存在しない場合
  文字列が日本語(全角)の場合
  検索する開始位置を指定する(引数が2つ)

末尾から検索して文字列の位置を取得する

文字列.lastIndexOf(検索する文字列[, 検索を始める位置])
  • 文字列を末尾から検索して出現した位置(数値)を返します。
  • 1つ目の引数は、検索する文字列です。
  • 2つ目の引数は、検索を始める位置です。省略可能です。
  • 該当の文字がないときは-1を返します。
  • 先頭の1文字目の位置は0です。

1文字検索する

<script>
    const str1 = "abcabc";
    console.log(str1.lastIndexOf("a")); // 3
    console.log(str1.lastIndexOf("b")); // 4
    console.log(str1.lastIndexOf("c")); // 5
</script>

文字列の末尾から検索し引数の文字列が最初に見つかった位置を返します。
文字列の先頭の位置は、0です。

検索対象が文字列の場合

<script>
    const str1 = "abcabc";
    console.log(str1.lastIndexOf("abc")); // 3
    console.log(str1.lastIndexOf("bc")); // 4
    console.log(str1.lastIndexOf("ca")); // 2
</script>

末尾から検索し引数の文字列が最初に見つかった位置を返します。

検索する文字が存在しない場合

<script>
    const str1 = "abcabc";
    console.log(str1.lastIndexOf("z")); // -1
</script>

検索する文字が存在しない場合は、-1を返します。

文字列が日本語(全角)の場合

<script>
    const str2 = "あいうあいう";
    console.log(str2.lastIndexOf("あ")); // 3
    console.log(str2.lastIndexOf("い")); // 4
    console.log(str2.lastIndexOf("う")); // 5
</script>

日本語(全角)の場合でも1文字は1でカウントします。

開始位置を指定する(引数が2つ)

2つ目の引数は、検索を始める位置です。

<script>
    const str1 = "あいうあいう";
    console.log(str1.lastIndexOf("あ", 5)); // 3
    console.log(str1.lastIndexOf("あ", 4)); // 3
    console.log(str1.lastIndexOf("あ", 3)); // 3
    console.log(str1.lastIndexOf("あ", 2)); // 0
    console.log(str1.lastIndexOf("あ", 1)); // 0
    console.log(str1.lastIndexOf("あ", 0)); // 0
</script>

3行目の2つめの引数は5で対象の文字列は(あいうあいう)です。位置の3が返ります。
4行目の2つめの引数は4で対象の文字列は(あいうあい)です。位置の3が返ります。
5行目の2つめの引数は3で対象の文字列は(あいうあ)です。位置の3が返ります。
6行目の2つめの引数は2で対象の文字列は(あいう)です。位置の0が返ります。
7行目の2つめの引数は1で対象の文字列は(あい)です。位置の0が返ります。
8行目の2つめの引数は0で対象の文字列は(あ)です。位置の0が返ります。

以下はMDNのlastIndexOfメソッドのリンクです。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf

関連の記事

JavaScript indexOf 文字列の位置を取得
JavaScript 文字列の一部を取得する(substring)
JavaScript slice 文字列の一部を取得(+頭ゼロ付与)
JavaScript 文字列の一部を取得する(substr)
JavaScript 文字列から1文字を取得する(charAt)
JavaScript 文字列を置き換える(replace)
JavaScript 正規表現で値を返す(matchメソッド)

△上に戻る