JavaScript 文字列の位置を取得する(indexOf/lastIndexOf)

JavaScriptの文字列の位置を取得するサンプルです。
indexOfメソッドまたはlastIndexOfメソッドを使用します。

目次

indexOfメソッド

文字列 . indexOf ( 検索する文字列 [ , fromIndex ] )
  • 1つ目の引数(検索する文字列)で文字列を左(先頭の文字)から右に検索して出現した位置(数値)を返します。
  • 先頭の1文字目の位置は0です。
  • 該当の文字がなかったときは-1を返します。
  • fromIndexは検索を始める位置です。省略可能です。
  • Stringオブジェクトのメソッドです。
  • 以下はMDNのindexOfメソッドのリンクです。
    https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf

文字列の位置を取得する

文字列の位置を取得するサンプルです。
文字列を左(先頭の文字)から検索します。

<script>

const str1 = "あいうabcあいう";

console.log(str1.indexOf("b")); // 4

console.log(str1.indexOf("abc")); // 3

console.log(str1.indexOf("あいう")); // 0

console.log(str1.indexOf("あいえ")); //-1

</script>

5,7行目は、指定した文字列が見つかった位置を返しています。
9行目は、文字列を左から見て最初に出現する"あいう"の位置を返しています。
11行目は、指定した文字がないので-1を返します。

検索開始位置を指定する

検索開始位置を指定するサンプルです。

<script>

const str1 = "あいうえお";

console.log(str1.indexOf("う",2)); // 2

console.log(str1.indexOf("う",3)); //-1

</script>

5行目の引数は2なので対象の文字列は(うえお)です。引数の文字列(う)が見つかった位置を返しています。
7行目の引数は3なので対象の文字列は(えお)です。引数の文字列(う)が見つからないので-1を返します。

lastIndexOfメソッド

文字列 . lastIndexOf ( 検索する文字列 [ , fromIndex ] )
  • 1つ目の引数(検索する文字列)で文字列を右(最後の文字)から左に検索して出現した位置を返します。
  • 先頭の1文字目の位置は0です。
  • 該当の文字がなかったときは-1を返します。
  • fromIndexは検索を始める位置です(左から右に数えます)。省略可能です。
  • Stringオブジェクトのメソッドです。
  • 以下はMDNのlastIndexOfメソッドのリンクです。
    https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf

文字列の位置を取得する

文字列の位置を取得するサンプルです。
文字列を右(最後の文字)から検索します。

<script>

const str1 = "あいうabcあいう";

console.log(str1.lastIndexOf("b")); // 4

console.log(str1.lastIndexOf("abc")); // 3

console.log(str1.lastIndexOf("あいう")); // 6

console.log(str1.lastIndexOf("あいえ")); //-1

</script>

5,7行目は、引数の文字列が見つかった位置を返しています。
9行目は、文字列を右から見て最初に出現する"あいう"の位置を返しています。
11行目は、引数の文字列が見つからないので-1を返します。

検索開始位置を指定する

検索開始位置を指定するサンプルです。

<script>

const str1 = "あいうabcあいう";

console.log(str1.lastIndexOf("う",4)); //2

console.log(str1.lastIndexOf("a",2)); //-1

</script>

5行目の引数は4なので対象の文字列は(あいうab)です。引数の文字列(う)が見つかった位置を返しています。
7行目の引数は2なので対象の文字列は(あいう)です。引数の文字列が見つからないので-1を返します。

関連の記事

JavaScript 文字列を分割して配列にするサンプル(split)
JavaScript 文字列の一部を取得する(substring)
JavaScript 文字列の一部を取得する(slice)
JavaScript 文字列の一部を取得する(substr)
JavaScript 文字列から1文字を取得する(charAt)
JavaScript 文字列の長さを取得する(length)
JavaScript 英字の大文字と小文字を変換(toLowerCase/toUpperCase)
JavaScript 文字列を置き換える(replace)
JavaScript 正規表現で値を返す(matchメソッド)

△上に戻る