JavaScriptは文字列のSlice、Substring、Substr関数を切り取って詳しく調べて比較します。


JavaScriptでは、サブ文字列の抽出は主にSlice、Substring、Substrの3つの方法の一つである。
// slice 
// : string.slice(start [, stop])
"Good news, everyone!".slice(5,9);
// 'news'

// substring
// : string.substring(indexA [, indexB])
"Good news, everyone!".substring(5,9);
// 'news'

// substr
// : string.substr(start [, length])
"Good news, everyone!".substr(5,4);
// 'news'

は、3つの方法のうちの1つを入力します。  startのインデックスパラメータとオプションのendインデックス(またはlength)パラメータです。
しかし、彼らはいくつかの重要な点で違っています。1.substr()メソッドは指定された位置から指定された数の文字を抽出します。param:startから文字の位置索引を抽出し、lengthから文字の数を抽出します。return:新しい文字列です。startから始まるレングスの文字。異なったブラウザで不一致の表現があります。現代ブラウザでは、startインデックスパラメータは負の数となり、文字列の最後から文字を抽出する数を表します。ただし、ie 8および以下のバージョンでは、ブラウザstartインデックスパラメータが最小で0から計算されます。substrは、Webブラウザに付加されたECMAScript特性であり、startインデックスが負の値であることを推奨しない。param:indexA、indexBの2つのパラメータは、0から文字列の長さの間の整数の範囲をとります。return:小さなインデックスから大きなインデックスまでの間に新しい文字列を返します。インデックスの位置の大きい文字は含まれません。substringのパラメータは、常に小さいパラメータ値を開始として使用し、大きなパラメータ値を終了とします。パラメータが0以下である場合は、0と見なされ、パラメータが文字列の長さより大きい場合は文字列の長さ値とみなされる。
var str = "abcdefghij";

console.log("(1): "      + str.substr(1));     // (1): bcdefghij
console.log("(1,2): "    + str.substr(1,2));   // (1,2): bc

console.log("(-3): "     + str.substr(-3));    // (-3): hij
console.log("(-3,2): "   + str.substr(-3,2));  // (-3,2): hi

console.log("(20, 2): "  + str.substr(20,2));  // (20, 2):
console.log("(-20, 2): " + str.substr(-20,2)); // (-20, 2): ab

 

// ie8
console.log("(-3): " + str.substr(-2)); // (-20, 2): hij
console.log("(-3, 2): " + str.substr(-2)); // (-20, 2): ab

3.sliceは文字列の一部を抽出する。Param:begins Sliceは文字の位置インデックスを抽出し始め、負の値を負と見なす場合、sourceLength-beginsSliceは文字列の長さ、すなわち文字列の末尾から計算された位置endSliceは抽出された文字の位置インデックスを終了する。省略すると抽出が終了します。負の値であれば(sourceLength-endSlice)と見なされます。return:新しい文字列を返します。スタートからend終了までのすべての文字がstartから始まります。パラメータはすべて負であり、インデックスが負であれば、文字列の末尾から計算します。
// assumes a print function is defined
var anyString = "Mozilla";

// Displays "Moz"
console.log(anyString.substring(0,3));
console.log(anyString.substring(3,0));

// Displays "lla"
console.log(anyString.substring(4,7));
console.log(anyString.substring(7,4));

// Displays "Mozill"
console.log(anyString.substring(0,6));

// Displays "Mozilla"
console.log(anyString.substring(0,7));
console.log(anyString.substring(0,10));