JavaScript | 文字列操作で「部分文字列(文字列の一部)を取り出す」方法

JavaScript JavaScript
スポンサーリンク

主な内容の要点

1. 文字列から一部を取り出す方法

  • JavaScript では文字列の一部を取り出すのに
    slice()substring() というメソッドを使う。
  • どちらも「開始位置」と「終了位置」を指定して、その範囲の文字列を返す。

2. slice(start, end)

  • 書き方:
str.slice(開始位置, 終了位置)
JavaScript
  • 開始位置から終了位置の「直前」までを取り出す。
  • 終了位置を省略すると、最後まで取れる。
  • マイナスの数を指定できる(後ろから数える)。
    • 例:-1 は「最後の文字」。

3. substring(start, end)

  • 書き方:
str.substring(開始位置, 終了位置)
JavaScript
  • 基本は slice と同じで「開始位置から終了位置の直前まで」。
  • ただし違いがある:
    • マイナスの数は使えない(負の数は 0 として扱われる)。
    • 開始位置と終了位置を逆に書いても、自動で入れ替えてくれる。

4. 違いのまとめ

特徴slicesubstring
負の数使える(後ろから数える)使えない(0になる)
開始 > 終了 の場合空文字になる自動で入れ替える
よく使う場面部分的に柔軟に取りたいときシンプルに範囲を指定したいとき

5. サンプルコード

let text = "JavaScript";

// slice
console.log(text.slice(4, 7));   // "Scr"
console.log(text.slice(-6, -3)); // "Scr"

// substring
console.log(text.substring(4, 7)); // "Scr"
console.log(text.substring(7, 4)); // "Scr" ←順番逆でもOK
JavaScript

初心者へのアドバイス

  • 柔軟に使いたいなら slice
  • シンプルに範囲を指定するなら substring
  • まずは slice を覚えておけば困らないことが多い。

覚えておきたいポイントまとめ

  • 文字列は「0」から数えてインデックスを指定します。
  • slicesubstring は元の文字列を変えずに 新しい文字列を返す メソッドです。
  • どちらを使っても良いですが、それぞれ「負の値」「インデックス入れ替え時の挙動」が異なるため、意図に応じて使い分けると安全。
    • slice:負の値OK、終了 ≤ 開始 → 空文字
    • substring:負の値はゼロ扱い、終了 < 開始 → 開始/終了入れ替え
  • 終了インデックスを省略すれば「開始位置から最後まで」を簡単に取得できます。
  • 実践では「文字列の一部だけを取り出したい」場面で頻出なので、使い方を覚えておくと便利です。

👉 ここまでで「部分文字列を取り出す方法」が理解できるはずです。
もし「どっちを使うべき?」と迷うなら、実際に slicesubstring を両方試してみると違いがよく分かります。

タイトルとURLをコピーしました