substr 和 substring 有啥区别? [复制]
Posted
技术标签:
【中文标题】substr 和 substring 有啥区别? [复制]【英文标题】:What is the different between substr and substring? [duplicate]substr 和 substring 有什么区别? [复制] 【发布时间】:2012-04-24 21:53:17 【问题描述】:可能重复:What is the difference between substr and 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
,它将停止但不包括??
如果我错了,请纠正我,因为我们今天会有一个测验,我不想再犯错了。
【问题讨论】:
你知道有一个叫 google 的网站,对吧? first hit @EliasVanOotegem 谢谢你提醒我 :) 【参考方案1】:是的,substr()
的第二个参数是所需子字符串的长度,而 substring()
是字符索引,通过网络搜索很容易找到这一事实。
鲜为人知的是 substr()
是非标准的(直到并包括 ECMAScript 5;ES3 和 ES5 在 substr()
上有非规范部分)并且在旧版本的 IE 中存在一些错误。此外,slice()
比 substring()
更可取,因为它允许负字符索引,从字符串末尾倒数:
alert( "Dandelion".slice(-4) ); // Alerts "lion"
【讨论】:
【参考方案2】:是的,substring
用于索引,而substr
用于长度。
【讨论】:
【参考方案3】:根据以下链接:
http://rapd.wordpress.com/2007/07/12/javascript-substr-vs-substring/
Substr
采用起始索引和您尝试分段的字符串的长度
Substring
采用起始索引和您希望它分割字符串的索引
【讨论】:
以上是关于substr 和 substring 有啥区别? [复制]的主要内容,如果未能解决你的问题,请参考以下文章