js中substring和substr用法与区别

  • 原创
  • |
  • 浏览:13251
  • |
  • 更新:
  • |
  • 标签:JavaScript 

javascript字符串操作获取子串的方法有好几种,本篇主要介绍substring和substr用法与区别

工具/原料

  • FireBug

方法/步骤

  • 在开始之前,先回顾下js中下标(数组元素/字符串中字符下标):

    下标总是从0开始计数,例如

    var arr = [1,2,3];//数组的长度为3,元素下标依次为:0,1,2

    arr[0] = 1,arr[1]=2..

    字符串类似:如var s = "hello";//字符串长度为5,第一个字符'h'的下标为0,依次类推

    js中substring和substr用法与区别
  • String.substring( ):用于返回一个字符串的子串

    用法如下:string.substring(from, to)

    其中from指代要抽去的子串第一个字符在原字符串中的位置

    to指代所要抽去的子字符串最后一个字符的后一位(这个参数可以不加)

  • 下面就对String.substring( )做举例:

    1、string.substring(from):此时相当于从from位置截取到原字符串末尾

    var s = "hello";

    s.substring(1);//就是从下标为1的字符(这里是'e')开始起到字符串末尾全部截取,最终获得子串"ello"

    js中substring和substr用法与区别
  • 2、string.substring(from, to):从from位置截取到to-1的位置

    var s = "hello";

    s.substring(1,3);//相当于从位置为1的字符截取到位置为2的字符,得到子串为:"el"

    js中substring和substr用法与区别
  • String.substr( ):作用也是抽去一个子串,但是它和上面的String.substring( )有所不同

    string.substr(start, length)

    start:指代截取子串开始下标

    length:截取子串的长度(可省略)

  • 1、string.substr(start, length),先举个例子来说明:

    var s = "hello";

    s.substr(1,3);//从下标为1的字符开始截取3个字符长度,最后子串为:ell

    js中substring和substr用法与区别
  • 补充两种特殊情况:

    a、第二个参数超过了剩余字符长度

    var s = "hello";

    s.substr(1,7)//这种情况下默认从,start位置到原字符串末尾,即返回:"ello"

    js中substring和substr用法与区别
  • b、第一个参数为负数

    这种情况,从字符串尾部开始计算,-1指字符串最后一个字符,-2指倒数第二个字符...依次类推

    var s = "hello";

    s.substr(-3,2)//即从倒数第三个字符开始起截取2个长度,获得:"ll"

    js中substring和substr用法与区别
  • 本页面未经许可获取自百度经验
  • 2、string.substr(start)

    不带length参数,默认指代从start位置截取到字符串末尾

    var s = "hello";

    s.substr(3)//"lo"

    js中substring和substr用法与区别
    END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部
相关标签JavaScript