js 字符串的截取

作者: 喵了个咪O_O | 来源:发表于2019-03-22 17:49 被阅读0次

    var str = '0123456789';

    1. slice(start: number, end?: number)

    参数一: 开始索引
    参数二: 结束索引 (选填)

    1. 包括开始字符, 不包括结束字符 <=> [start, end)
    2. 若start大于字符串的长度 ,

    则返回空字符串

    3. start < end

    返回空字符串

    4. 若end 省略,

    则截取到字符串的末尾

    5. 若参数小于0 ,

    则会将它与字符串的长度相加,
    若相加还是小于0, 则从首位开始截取

    str.slice(1, 2)        // '1'
    
    str.slice(20)         //''
    
    str.slice(2, 1)        // ''
    
    str.slice(4)           //'456789'
    
    str.slice(-3)          //  '789'
      
    str.slice(-20)         //'0123456789'
    

    2. substring(start: number, end?: number)

    substring() 与slice()的用法一致, 现在介绍一下他们的区别

    1.若 参数为负数

    substring()方法会将负值视为0
    slice() 方法会将负值与字符串长度相加

    2.若 start < end

    那么效果substring()就好像这两个论点被交换了一样

    str.substring(-2)    //'0123456789'    等价于    str.substring(0) 
    
    str.slice(-2)      //'89'  等价于    str.slice(str.length - 2) 
    
    
    //当start < end 时
    str.substring(3, 1)   // '12'  等价于  str.substring(1, 3)
    
    str.slice(3, 1)          // ''
    

    3. substr(start: number, length?: number)

    参数一: 开始索引
    参数二: 截取的字符串长度

    由于它不在 JavaScript 的标准中,所以您应该尽 量用 substring()去代替它。

    1.若 start < 0

    若参数小于0 , 则会将它与字符串的长度相加,
    若相加还是小于0, 则从首位开始截取

    2. 若start > str.length

    若字符串的开始索引大于字符串的长度, 返回空字符串

    3. 若length 为0 或负数

    返回空字符串

    4. 若length 省略

    则将substr()字符提取到字符串的末尾

    str.substr(-9,3)     //'12'
    
    str.substr(-10)      //'0123456789'
    
    str.substr(20)       //''
    
    str.substr(2, -1)    //''
    
    str.substr(3)        //'3456789'
    

    示例 : 现有字符串 var str = '0123456789';
    1). 前3位 '012'
    2) 中间4位 '3456'
    2). 后3位 '789'

      1) 012
        str.slice(0, 3)
        str.slice(0, -7)
        str.substring(0, 3)
        str.substring(-1, 3)
        str.substring(-1, 3)
        str.substr(0, 3)
    
    2) 3456
        str.slice(3, 7)
        str.slice(3, -3)
        str.slice(-7, 7)
        str.slice(-7, -3)
        str.substring(3, 7)
        str.substring(7, 3)
        str.substr(3, 4)
        str.substr(-7, 4)
    
    3) 789
        str.slice(-3)
        str.slice(7)
        str.substring(7)
        str.substr(7)
        str.substr(-3)
        str.substr(7, 3)
    

    相关文章

      网友评论

        本文标题:js 字符串的截取

        本文链接:https://www.haomeiwen.com/subject/lqlrvqtx.html