【问题标题】: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 谢谢你提醒我 :)

标签: javascript


【解决方案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 采用起始索引和您希望它分割字符串的索引

      【讨论】:

        猜你喜欢
        • 2018-08-13
        • 1970-01-01
        • 2011-05-31
        • 2015-11-23
        • 2013-02-13
        • 2011-04-26
        • 2016-09-24
        相关资源
        最近更新 更多