zoukankan      html  css  js  c++  java
  • javascript中substring()、substr()、slice()的区别

    js字符截取函数有常用的三个slice()、substring()、substr()了,下面我来给大家介绍slice()、substring()、substr()函数在字符截取时的一些用法与区别吧。

    stringObject.substring(start,stop) 用于提取字符串中介于两个指定下标之间的字符。

    start必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。

    stop可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

    start从0开始 到stop(不包含stop)结束 不接受负的参数。

    stringObject.substr(start,length)可在字符串中抽取从start下标开始的指定数目的字符

    start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

    length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

    stringObject.slice(start,end)提取字符串的某个部分,并以新的字符串返回被提取的部分

    start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。

    end 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。

    返回新的字符串包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符

    string.slice()
    string.substring()
    string.substr()
      
    var stringValue = “hello world”;
    alert(stringValue.slice(3));          //”lo world”
    alert(stringValue.substring(3));      //”lo world”
    alert(stringValue.substr(3));        //”lo world”
    alert(stringValue.slice(3,7));         //”lo w”
    alert(stringValue.substring(3,7));    //”lo w”
    alert(stringValue.substr(3,7));       //”lo worl”
    

      

    三者如果只有一个参数n 则会从第n个位置开始返回剩余字符串(从0开始计算位置)

    如果有两个参数n,m,slice与substring会从第n个位置开始返回到第m个位置(不包括第m位置)的字符串,而substr会返回从第n个位置开始的m个字符。
    ———————————————————————————————

    string.slice()
    string.substring()
    string.substr()
    var stringValue = “hello world”;
    alert(stringValue.slice(-3));          //”rld”
    alert(stringValue.substring(-3));      //”hello world”
    alert(stringValue.substr(-3));        //”rld”
    alert(stringValue.slice(3,-4));         //”lo w”
    alert(stringValue.substring(3,-4));    //”hel”
    alert(stringValue.substr(3,-4));       //”"(空字符串)
    

      

     

    当参数是负值情况下,slice将传入负值与字符串长度(string.length)相加,substr会将负的第一个参数加上字符串长度,第二个转换为0,substring会将所有负值都转换成0。

    IE的JavaScript实现在处理向substr()方法传递负值的情况时存在问题,它会返回原始的字符串。

  • 相关阅读:
    hibernate经典配置与测试
    jquerry之隔行跳色
    Struts2之Ognl用法
    java模拟系统进程算法的小程序
    HDU 1506 Largest Rectangle in a Histogram【矩阵最大面积】
    POJ 3624 Charm Bracelet【01背包】
    HDU 1505 City Game【矩阵的最大面积】
    POJ 1837 Balance【DP】
    HDU 1059 Dividing【多重背包】
    POJ 2063 Investment【完全背包】
  • 原文地址:https://www.cnblogs.com/good10000/p/4788003.html
Copyright © 2011-2022 走看看