js 字符串 截取字串 slice,substring,substr方法对比

js 字符串 截取字串 slice,substring,substr方法对比

1. slice() 方法

slice() 提取字符串的某个部分并在新字符串中返回被提取的部分。

该方法设置两个参数:起始索引(开始位置),终止索引(结束位置)。

tips:

  1. 两个参数都可为负数,为负数时,表示倒数第几个对应的索引
  2. 省略第二个参数时,将截取剩余所有的字符串,截取到最后
  3. 起始索引必须小于终止索引,否则得到空串""
let str = "0123456";
console.log(str) //0123456
console.log(str.slice(0,4)) //0123
console.log(str.slice(-3,-1)) //45
console.log(str.slice(3)) //3456

2. substring() 方法

  1. 类似slice():

    1. 该方法设置两个参数:起始索引(开始位置),终止索引(结束位置)。
    2. 省略第二个参数时,将截取剩余所有的字符串,截取到最后
  2. 不同之处在于:

    1. substring() 无法接受负的索引。

      1. 第一个参数(起始索引)为负数时,会当作0处理

        let str = "0123456";
        console.log(str) //0123456
        console.log(str.substring(-5,2)) //01
      2. 第二个参数为负数 (终止索引),截取失败,得到空字符串""

        let str = "0123456";
        console.log(str) //0123456
        console.log(str.substring(-5,-2)) //
    2. 若第二个参数(终止索引)小于第一个参数(起始索引),二者会被交换位置

      let str = "0123456";
      console.log(str) //0123456
      console.log(str.substring(4,2)) //23

3. substr() 方法

  1. substr() 类似于 slice()

    ​ 1. 第一个参数(起始索引)可以为负数,为负数时,表示倒数第几个对应的索引

  2. 不同之处在于:

    1. 第二个参数规定被提取部分的长度

      let str = "0123456";
      console.log(str) //0123456
      console.log(str.substr(1,3)) //123
    2. 第二个参数可以缺省,但不能为负数

      1. 省略第二个参数时,将截取剩余所有的字符串,截取到最后

      2. 第二个参数为负数时,截取失败,得到空串""

        let str = "0123456";
        console.log(str) //0123456
        console.log(str.substr(1)) //123456
        console.log(str.substr(1,-2)) //

posted @   果然coding  阅读(236)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示