【JavaScript】slice()、substring()、substr()の違い——dream参照の2
3451 ワード
strigObject.slice(startIndex,endIndex)
文字列stingObjectは、startIndexからendIndexまでのすべての文字を返します.
1)パラメータendIndexはオプションで、指定されていない場合は、デフォルトでは文字列の長さstingObject.lengthです.
コードをダブルクリックして全選択
1
2
3
2)startIndex、endIndexは負であってもよい.負の場合は、文字列の末尾から計算することを表す.つまり-1は文字列の最後の文字を表します.
コードをダブルクリックして全選択
1
2
3
4
3)startIndex、endIndexはいずれもオプションです.全部書かないと文字列のstingObjectの全部を返します.slice(0)と同じです.
コードをダブルクリックして全選択
1
2
3
【注3】String.slice()はAray.slice()に似ています.
コードをダブルクリックして全選択
1
1)startIndexは負でない整数であり、必ず記入してください.endIndexは負ではない整数で、オプションです.ない場合は、デフォルトは文字列の長さstingObject.lengthです.
コードをダブルクリックして全選択
1
2
3
4
コードをダブルクリックして全選択
1
2
3
4
stingObject.substr(startIndex,length)
文字列stingObjectを返します.startIndexから指定された数の文字を含みます.
1)startIndexは必ず記入しなければなりません.負の数でもいいです.負の場合は、文字列の末尾から計算することを表す.つまり-1は文字列の最後の文字を表します.
2)パラメータlengthはオプションで、指定されていない場合はデフォルトでは文字列の長さstingObject.lengthとなります.
コードをダブルクリックして全選択
1
2
3
4
【注5】ECMAscriptはこの方法を標準化していないので、この方法はできるだけ使わないようにします.
文字列stingObjectは、startIndexからendIndexまでのすべての文字を返します.
1)パラメータendIndexはオプションで、指定されていない場合は、デフォルトでは文字列の長さstingObject.lengthです.
コードをダブルクリックして全選択
1
2
3
var
stringObject =
"hello world!"
;
alert(stringObject.slice(3));
// lo world!
alert(stringObject.slice(3,stringObject.length));
// lo world!
【注1】文字列の最初の文字の位置は【0】から始まり、最後の文字の位置は【stingObject.length-1】であるため、slice()メソッドが返した文字列はendIndex位置の文字を含まない.2)startIndex、endIndexは負であってもよい.負の場合は、文字列の末尾から計算することを表す.つまり-1は文字列の最後の文字を表します.
コードをダブルクリックして全選択
1
2
3
4
var
stringObject =
"hello world!"
;
alert(stringObject.slice(-3));
// ld!
alert(stringObject.slice(-3,stringObject.length));
// ld!
alert(stringObject.slice(-3,-1));
// ld
【注2】負の数を合理的に使うことでコードを簡略化することができます.3)startIndex、endIndexはいずれもオプションです.全部書かないと文字列のstingObjectの全部を返します.slice(0)と同じです.
コードをダブルクリックして全選択
1
2
3
var
stringObject =
"hello world!"
;
alert(stringObject.slice());
// hello world!
alert(stringObject.slice(0));
// hello world!
4)startIndex、endIndexが等しい場合、空の列に戻ります.【注3】String.slice()はAray.slice()に似ています.
コードをダブルクリックして全選択
1
stringObject.substring(startIndex、endIndex)
文字列stingObjectは、startIndexからendIndexまでのすべての文字を返します.1)startIndexは負でない整数であり、必ず記入してください.endIndexは負ではない整数で、オプションです.ない場合は、デフォルトは文字列の長さstingObject.lengthです.
コードをダブルクリックして全選択
1
2
3
4
var
stringObject =
"hello world!"
;
alert(stringObject.substring(3));
// lo world!
alert(stringObject.substring(3,stringObject.length));
// lo world!
alert(stringObject.substring(3,7));
// lo w, [l][o][ ][w]
2)startIndex、endIndexが等しい場合、空の列に戻ります.startIndexがendIndexより大きい場合は、サブストリングを抽出する前に、二つのパラメータを置き換える.つまり、stingObject.substring(startIndex、endIndex)は、stingObject.substring(endIndex、startIndex)と同じです.コードをダブルクリックして全選択
1
2
3
4
var
stringObject =
"hello world!"
;
alert(stringObject.substring(3,3));
//
alert(stringObject.substring(3,7));
// lo w
alert(stringObject.substring(7,3));
// lo w
【注4】substring()よりもslice()の方が柔軟で、負のパラメータが受信できます.stingObject.substr(startIndex,length)
文字列stingObjectを返します.startIndexから指定された数の文字を含みます.
1)startIndexは必ず記入しなければなりません.負の数でもいいです.負の場合は、文字列の末尾から計算することを表す.つまり-1は文字列の最後の文字を表します.
2)パラメータlengthはオプションで、指定されていない場合はデフォルトでは文字列の長さstingObject.lengthとなります.
コードをダブルクリックして全選択
1
2
3
4
var
stringObject =
"hello world!"
;
alert(stringObject.substr(3));
// lo world!
alert(stringObject.substr(3,stringObject.length));
// lo world!
alert(stringObject.substr(3,4));
// lo w
3)substr()はslice()とsubstring()の代わりに使えます.上のコードからstingObject.substr(3,4)はstrigObject.substring(3,7)と同じです.【注5】ECMAscriptはこの方法を標準化していないので、この方法はできるだけ使わないようにします.