文字列から開始位置と文字数を指定して部分文字列を取得する(substr)

広告

String オブジェクトのインスタンスメソッドである substr は、文字列に対して開始位置と文字数を指定して部分文字列を取得します。ここでは String オブジェクトの substr メソッドの使い方について解説します。

部分文字列を取得する(substr)

String オブジェクトの substr メソッドは、対象の文字列に対して開始位置と文字数を指定して部分文字列を取得します。書式は次のとおりです。

文字列.substring(開始インデックス[, 文字数])

対象の文字列の開始インデックスから文字数分だけの部分文字列を新しい文字列を戻り値として返します。文字数を省略した場合は文字列の最後までを取得します。対象の文字列は変更されません。

インデックスは文字列の最初の文字が 0 、次の文字が 1 となります。下記は開始インデックスを 1 、文字数を 2 に指定した場合です。

部分文字列を取得する(substr)(1)

次のサンプルをみてください。

let address = 'いろはにほへと';
let sub;

sub = address.substr(4, 2);
console.log(sub);
--> ほへ

sub = address.substr(3);
console.log(sub);
--> にほへと

部分文字列を取得する(substr)(2)

開始インデックス 4 、文字数 2 を指定した場合は、インデックス 4 から 2 文字分の部分文字列を取得します。開始インデックス 3 を指定し文字数を省略した場合は、インデックス 3 から文字列の最後までの部分文字列を取得します。

インデックスに負の値を指定する

開始インデックスには負の値を指定することができます。最後の文字が -1 、最後の一つ前の文字が -2 となります。

部分文字列を取得する(substr)(3)

次のサンプルをみてください。

let address = 'いろはにほへと';
let sub;

sub = address.substr(-3, 2);
console.log(sub);
--> ほへ

sub = address.substr(-4);
console.log(sub);
--> にほへと

部分文字列を取得する(substr)(4)

開始インデックス -3 、文字数 2 を指定した場合は、インデックス -3 から 2 文字分の部分文字列を取得します。開始インデックス -4 を指定し文字数を省略した場合は、インデックス -4 から文字列の最後までの部分文字列を取得します。

文字数に0または負の値を指定する

文字数に 0 または負の値を指定すると文字数が 0 の部分文字列を取得することになるためいずれも空文字が返ります。

次のサンプルをみてください。

let address = 'いろはにほへと';
let sub;

sub = address.substr(3, 0);
console.log(sub);
--> 

sub = address.substr(5, -2);
console.log(sub);
--> Script

部分文字列を取得する(substr)(5)

文字数が 0 または負の値が指定されているので、どちらも空文字が返されています。

-- --

String オブジェクトの substr メソッドの使い方について解説しました。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。