本記事では、JavaScriptでn文字目~n文字目までの一部の文字を取得する方法についてサンプルコードを用いて解説しています。
- 誰でも分かるように嚙み砕いて説明してくれる
- アニメーションの知識が深く学べる
- 1つのWebサイトを作りながら学べる
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
変数名/関数名にもう悩まない!
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
文字列の一部を取得する2つのメソッド
JavaScriptで文字列の一部を取得するには「substringメソッド」「sliceメソッド」を使う2つの方法があります。
substringメソッドとsliceメソッドの基本構文は以下のとおりです。
str.substring(start [, end]);
str.substring(start [, end]);
- str:対象の文字列
- start:取得したい文字列のスタート地点
- end:取得したい文字列の終了地点(省略可能)
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メソッドの違いについては、別記事にて紹介しているので興味のある方はご参照ください。