字符串截取

目录

第一种:slice [开始下标, 结束下标)

第二种:substr [开始下标, 截取长度)

第三种:substring [开始下标,结束下标)


第一种:slice [开始下标, 结束下标)

  • 开始下标和结束下标可以使用负数表示
  • 返回被截取出来的字符串,不包含结束下标对应的字符
  • 如果第二个参数省略了,就默认截取到字符串末尾
  • 如果开始下标和结束下标相等,就 截取到空字符串
  • 截取字符串一定是从左向右进行截取的,如果开始下标大于结束下标就截取不到内容了  
        let str = 'abcdefg'
        console.log(str.slice(0, 1)); //a
        // 开始下标和结束下标可以使用负数表示
        // 表示倒数第几个
        console.log(str.slice(-2, -1)); // f
        console.log(str.slice(-3)); // efg
        console.log(str.slice(1, 1)); // ''

第二种:substr [开始下标, 截取长度)

  • 返回截取出来的字符串
  • 可以使用负数表示开始下标
  • 如果第二个参数省略了,就默认截取到字符串末尾
        console.log(str.substr(1, 2)); // bc
        // 可以使用负数表示开始下标
        console.log(str.substr(-2, 1)); // f
        console.log(str.substr(0)); // abcdefg

第三种:substring [开始下标,结束下标)

  • 返回被截取的字符串,不包含结束下标对应的字符
  • 不可以使用负数表示下标 ,负数下标会转成0
  • 当开始下标在结束下标左边时,先交换两个参数的位置,然后再进行截取
  • 如果第二个参数省略了,就默认截取到字符串末尾
        console.log(str.substring(2, -2)); // ab
        // 等价于以下步骤
        // 1、将负数转为0
        str.substring(2, 0)
        // 2、调换位置
        str.substring(0, 2)
        console.log(str.substring(0)); // abcdefg

你可能感兴趣的:(基础知识,数据结构,算法,前端,javascript)