haiju's 開発メモ

開発に必要な情報を自分用にメモ

JavaScriptで文字列の分割と切り出しについて

JavaScriptPHPを行ったり来たりしてると、どっちが

どっちか分からなくなるため、文字列の切り出し方法に

ついてメモしておく(ΦωΦ)

[手順]

1.sliceを使って文字列を切り出す。

[書式]

var str = 文字列;

str.slice(開始位置, 終了位置);

(ex)先頭から4文字目までを切り出し

var str = 'user-123';

// 0~4文字目までの範囲を指定

var result = str.slice(0,4);

console.log(result);

※「user」が表示されればOK。

(ex)マイナス値で指定

var str = 'user-123';

var result = (-2,4);

console.log(result);

※sliceの場合はマイナス値で指定すると、無条件に0に置換。

※よって、結果は上記と同様「user」になる。

2.substrを使って文字列を切り出す。

[書式]

var str = 文字列;

str.substr(開始位置,文字数);

(ex)先頭から4文字目までを切り出し

var str = 'user-123';

var result = str.substr(0,4);

console.log(result);

※結果

「user」が表示されればOK。

(ex)文字数を省略

var str = 'user-123';

var result = str.substr(5);

console.log(result);

開始位置から末尾まで全対象になるので「123」が表示。

(ex)マイナス値で指定

var str = 'user-123';

var result = str.substr(-3):

console.log(result);

※開始位置にマイナス値を指定すると、全体の文字数から開始位置

 を引いた数になるので「123」が表示。

3.substringを使って文字列を切り出す。

 [書式]

var str = 文字列;

str.substring(開始位置, 終了位置);

(ex)先頭から4文字目までを切り出し

var str = 'user-123';

var result = str.substring(0, 4);

console.log(result);

※結果

「user」が表示されていればOK。

(ex)マイナス値を指定

var str = 'user-123';

var result = str.substring(-2, 4);

console.log(result);

開始位置のマイナス値は無条件に0に置換されるため、

 「0,4」と同じ意味になる。

※よって、結果は「user」になる。

(ex)終了位置より開始位置の数字が大きい

var str = 'user-123';

var result = str.substring(4,0);

console.log(result);

開始位置の数字が終了位置より大の場合は、自動的に反転

 して変更されるため、「0,4」と同じ意味になる。

※よって、結果は「user」になる。

[参考サイト]

catprogram.hatenablog.com

www.sejuku.net