JavaScript教程:字符串string截取slice()、substring()、substr()

slice()

slice(start,end)

参数:

  • start:必需。开始截取的 索引位置(从0开始)。包含 此索引指定的字符
    • 可以是负整数,-1表示倒数第一个字符,-2 表示倒数第二个字符
  • stop:可选
    • 不传此参数,表示截取到末尾
    • 传此参数,表示截取到该 索引位置(从0开始)。不包含 此索引指定的字符
    • 可以是负整数,-1表示倒数第一个字符,-2 表示倒数第二个字符

返回值:返回截取的字符串

案例:传一个值

截取出 韩梅梅,lucy

var res2 = s.slice(3) // 从索引是3的位置开始截取,一直截取到末尾
console.log("res2=",res2)

案例:传两个值

截取出 韩梅梅

var s = "李雷,韩梅梅,lucy"

var res = s.slice(3,6) // 开始位置包含,结束位置不包含
console.log("res=",res)

案例:传负数

截取出 lucy

var res3 = s.slice(-4)
console.log("res3=",res3)

案例:截取文件后缀

var filename = "复联.3.高清.中文字幕.mp4" // xxx.png, xxx.jpg,xxx.jpeg,xxx.mp3,xxx.rmvb
var pos = filename.lastIndexOf(".") // 从右往左查找
var suffix = filename.slice(pos)
console.log(filename,"后缀是:",suffix)

substring()

用法 与java的字符串截取相同

substring(start,stop)

参数:

  • start:必需。非负整数,开始截取的 索引位置(从0开始)。包含 此索引指定的字符
  • stop:可选。非负整数
    • 不传此参数,表示截取到末尾
    • 传此参数,表示截取到该 索引位置(从0开始)。不包含 此索引指定的字符

返回值:返回截取的字符串

提示:
如果参数 start 与 stop 相等,返回 空字符串
如果 start 比 stop 大,先交换这两个参数,然后再截取

与 slice() 区别

slice() 更灵活,可以是负数

substring() 非负整数

案例:传一个值

截取出 韩梅梅,lucy

var res2 = s.substring(3) // 从索引是3的位置开始截取,一直截取到末尾
console.log("res2=",res2)

案例:传两个值

截取出 韩梅梅

var res = s.substring(3,6) // 开始位置包含,结束位置不包含
console.log("res=",res)

案例:截取文件后缀

var filename = "复联.3.高清.中文字幕.mp4" // xxx.png, xxx.jpg,xxx.jpeg,xxx.mp3,xxx.rmvb
var pos = filename.lastIndexOf(".") // 从右往左查找
var suffix = filename.substring(pos)
console.log(filename,"后缀是:",suffix)

案例:传负数

传负数无效,原样输出

var res3 = s.substring(-4)
console.log("res3=",res3)

substr()-不推荐

注意:ECMAscript 没有对该方法进行标准化,因此 不推荐使用

substr(start,length)

参数:

  • start:必需。开始截取的 索引位置(从0开始)。包含 此索引指定的字符
    • 可以是负整数,-1表示倒数第一个字符,-2 表示倒数第二个字符
  • length:可选。
    • 传值,表示截取字符串的长度
    • 不传,表示截取到末尾

返回值: 返回截取的字符串


原文出处:/show_1IX3ASZHWJx7.html