-2

可能重复:
substr 和 substring 有什么区别?

我只想澄清以下差异:-

alert("abc".substr(0,2));
alert("abc".substring(0,2));

上述情况都将返回

ab

alert("abc".substr(1,2));
alert("abc".substring(1,2));

上述情况将返回第一个bc和第二个b

所以基本上substr第二个参数是它必须走的长度?因为substring它会停止但不包括?

如果我错了,请纠正我,因为我们今天会有一个测验,我不想再犯这个错误了。

4

3 回答 3

4

是的,substr()' 的第二个参数是所需子字符串的长度,而substring()' 是字符索引,通过网络搜索很容易找到这一事实。

鲜为人知的是它substr()是非标准的(直到并包括 ECMAScript 5;ES3 和 ES5 有非规范部分substr())并且在旧版本的 IE 中存在一些错误。此外,slice()它更可取,substring()因为它允许从字符串末尾倒数的负字符索引:

alert( "Dandelion".slice(-4) ); // Alerts "lion"
于 2012-04-12T14:25:43.333 回答
1

是的,substring去一个索引,substr而去一个长度。

于 2012-04-12T14:22:07.147 回答
1

根据以下链接:

http://rapd.wordpress.com/2007/07/12/javascript-substr-vs-substring/

Substr需要一个起始索引和您尝试分段的字符串的长度

Substring需要一个起始索引和您希望它分割字符串的索引

于 2012-04-12T14:24:33.540 回答