JavaScriptで文字列の分割と切り出しについて
JavaScriptとPHPを行ったり来たりしてると、どっちが
どっちか分からなくなるため、文字列の切り出し方法に
ついてメモしておく(ΦωΦ)
[手順]
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」になる。
[参考サイト]