【JavaScript】文字列の一部分を取得するsubstr()メソッドとは?

こんにちは!CodeClub965のKです!

今回は、以前記事にしたslice()メソッドに似ているsubstr()メソッドについて解説したいと思います。

基本的な使い方から、slice()メソッドとの違いについてまとめます。

とは言ってもslice()とほぼ同じようなものなのであまり難しく考えなくて大丈夫です!

slice()メソッドについては以下の記事でまとめていますので、ぜひご覧ください。

substr()メソッドの基本的な使い方

substr()メソッドは、文字列の一部を指定した位置から後ろ方向に、指定した文字数分だけ取得できます。

slice()メソッドとの違いとして、slice()メソッドは文字列型と配列型の両方に対して使えましたが、substr()メソッドは文字列型にのみ使用できます。

基本構文は以下の通りです。

str.substr( start[, length])

引数の意味を分かりやすく表現すると、

str.substr( 開始位置, 切り取る文字数)

こんな感じです。
ちなみに第二引数はオプションなので省略可能です。

slice()メソッドと比較したコード例をみてみましょう。

コード例

var str = 'ABCDEFG';

var result1 = str.slice(1, 4);
var result2 = str.substr(1, 4);

console.log('slice:' + result1);
console.log('substr:' + result2);

■実行結果

slice:BCD
substr:BCDE

slice()の第二引数は終了位置なのに対して、substr()の第二引数は、切り取る文字数なので上記の例で実行結果が若干違うことが分かると思います。

この違いだけ理解できていれば問題ないです。

最後に

今回はsubstr()について、slice()との違いをみながら解説しました。
微妙に引数の意味が違うのでその点だけ気をつけましょう!

もしどっちがどっちか分からなくなったらこの記事を見てもらえればと思います。

それでは、また!

Follow me!