JavaScript常见的字符串截取方法包含substring
、substr
、slice
三种,下面我们来分析下基本使用和区别
1 substring
substring()方法用来截取字符串中介于两个指定下标之间的字符
入参:
start 必填,非负整数,截取起始位置
stop 可选,非负整数,截取结束位置,默认字符串结尾
该方法会返回一个新的字符串,不影响原字符串
let str = 'abcdefg'
console.log(str.substring(0,2)) //ab
console.log(str.substring(2,0)) //ab
console.log(str.substring(2)) //cdefg
注意:substring()与slice()和substr()方法不同的是,substring()不接受负的参数,如果start和stop相等,会返回一个空串,如果start比stop大,该方法在返回之前会交换start和stop。
2 substr
substr()方法用来截取字符串从start下标开始的指定数目的字符
入参:
start: 必填,数值,截取起始位置
length 可选,数值,截取字符数,默认到字符串结尾
该方法会返回一个新的字符串,不影响原字符串
let str = 'abcdefg'
console.log(str.substr(0,4)) //abcd
console.log(str.substr(2)) //cdefg
console.log(str.substr(-2)) //fg
注意:如果start指定的为负数时,返回字符串中倒数几个字符,例如-2会返回倒数两个字符串
3 slice
slice()方法用来截取字符串中介于两个指定下标之间的字符
入参:
start 必填,数值,截取起始位置
end 可选,数值,截取结束位置,默认字符串结尾
该方法会返回一个新的字符串,不影响原字符串
let str = 'abcdefg'
console.log(str.slice(0,4)) //abcd
console.log(str.slice(2)) //cdefg
console.log(str.slice(-2)) //fg
注意:如果start指定的为负数时,返回字符串中倒数几个字符,例如-2会返回倒数两个字符串