JavaScript

【JavaScript】文字列の一部を取得する方法

本記事では、JavaScriptでn文字目~n文字目までの一部の文字を取得する方法についてサンプルコードを用いて解説しています。

JavaScriptの学習におすすめ参考書
改訂3版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで

本書情報
出版社技術評論社
著者山田 祥寛
発売日2023/2/13
ページ数624ページ
レビュー
(Amazon)
(4件)
先輩くん
先輩くん
10万部突破したJavaScriptの本が大幅増補改訂し7年ぶりに発売されたよ!
後輩ちゃん
後輩ちゃん
最新の基本文法から、開発に欠かせない応用トピックまで学ぶことが出来るよ!

綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック

本書情報
出版社オライリージャパン
著者Dustin Boswell / Trevor Foucher
発売日2012/6/23
ページ数260ページ
レビュー
(Amazon)
(620件)
先輩くん
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
後輩ちゃん
10以上前の書籍ですが、内容は今でも役に立つものばかりです!

文字列の一部を取得する2つのメソッド

JavaScriptで文字列の一部を取得するには「substringメソッド」「sliceメソッド」を使う2つの方法があります。

substringメソッドとsliceメソッドの基本構文は以下のとおりです。

str.substring(start [, end]);
str.substring(start [, end]);
基本構文の解説
  • str:対象の文字列
  • start:取得したい文字列のスタート地点
  • end:取得したい文字列の終了地点(省略可能)

substringメソッドとsliceメソッドは、1文字目を0番目と認識します。そのため、3文字目を指定する場合は2を指定する必要があります。

n文字目以降の文字列を全て取得する

substringメソッドとsliceメソッドでn文字目以降の文字列を全て取得する書き方は以下のとおりです。

let str = "WebエンジニアWiki";

console.log(str.substring(3)); // => エンジニアWiki
console.log(str.slice(3)); // => エンジニアWiki

上記コードは、4文字目からの文字を全て取得します。substringメソッドとsliceメソッドは、1文字目の「W」を0と認識しているので、3を指定すると「エ」からの文字を全て取得することが出来ます。

n文字目~n文字目までの文字を取得する

substringメソッドとsliceメソッドでn文字目~n文字目までの文字を取得する書き方は以下のとおりです。

let str = "WebエンジニアWiki";

console.log(str.substring(3, 8)); // => エンジニア
console.log(str.slice(3, 8)); // => エンジニア

上記コードは、4文字目から8文字目までの文字を取得します。ここで鋭い方なら、1文字目を0と認識しているのなら何でendの値が7じゃないの?と思います。これは、substringメソッドとsliceメソッドが「start~end-1」文字目を取得するからです。滅茶苦茶ややこしいですね。。

関連記事の紹介

本記事では、文字列の一部を取得する方法でsubstringメソッドとsliceメソッドを紹介しましたが、使い方が全く同じで2つのメソッドは何が違うの?と疑問に思った方も多いと思います。

substringメソッドとsliceメソッドの違いについては、別記事にて紹介しているので興味のある方はご参照ください。

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村