zoukankan      html  css  js  c++  java
  • 如何使用slice,substr代替substring(原创)

    //写这个是为了加深对substring和slice的理解

    substring:

    任何一个参数小于0,都会被替换成0.两个参数,最小值会被当做start,最大值当做end.

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

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

     返回值:

    一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stopstart

     

     

    slice:

    参数描述
    start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
    end

    可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

     返回值:

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

     

     

    substr:

    substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

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

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

    返回值:

    一个新的字符串,包含从 stringObjectstart(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 startstringObject 的结尾的字符。


    substring和slice的区别:

    slice中的start如果为负数,会从尾部算起,-1表示倒数第一个,-2表示倒数第2个,此时end必须为负数,并且是大于start的负数,否则返回空字符串

    slice的end如果为负数,同样从尾部算起,如果其绝对值超过原字符串长度或者为0,返回空字符串

    substring会取start和end中较小的值为start,二者相等返回空字符串,任何一个参数为负数被替换为0(即该值会成为start参数)

    而substr比较特殊

    substr的end参数表示,要截取的长度,若该参数为负数或0,都将返回空字符串

    var str = "hello";
    var start = 2;
    var end = 1;
    //substring的参数最小为0
    start = Math.max(start,0);
    end = Math.max(end,0);
    //substring的参数是可以随意挪位,所以要稍微排序
    var max = Math.max(start,end);
    var min = Math.min(start,end);
    
    console.debug(str.substring(start,end));
    console.debug(str.slice(min,max));
    console.debug(str.substr(min,max - min));



    三者的区别参考自:
    http://www.cnblogs.com/langu/p/3518605.html
    
    
    
    
  • 相关阅读:
    bzoj3688 折线统计
    bzoj3678 wangxz与OJ
    「6月雅礼集训 2017 Day8」route
    「6月雅礼集训 2017 Day8」gcd
    [ SHELL编程 ] 编程常用的ORACLE相关命令
    Oracle数据库备份/导入工具
    Oracle数据文件迁移到裸设备
    Oracle数据文件转移操作
    Oracle重建表空间操作实例
    Linux性能测试分析命令_sar
  • 原文地址:https://www.cnblogs.com/geilishu/p/5009450.html
Copyright © 2011-2022 走看看