JS字符串截取方法(详细)

今天浅浅地总结下常用的字符串截取方法,希望对大家有帮助...

1. substr()

function: 截取从指定下标开始指定长度的字符

grammar: str.substr(start, length)

parameter - statr:必传项  起始点下标(正负皆可)为负数时 从尾部开始计算位置

parameter - length:可选项  截取长度 如果不传值 默认截取到末尾 (不能为负数)

note:改方法不会改变原字符串

let str = 'abcdefg'

console.log(str.substr(1,2)) // 'bc'
console.log(str.substr(1,-2)) // ''
console.log(str.substr(1)) // 'bcdefg'
console.log(str.substr(-2)) // 'fg'

2. substring()

function: 截取两个指定下标之间的字符

grammar:str.substring(from, to)

parameter - from:指定的开始下标 (不可为负数)

parameter - to:指定的结束下标 (不可为负数)

note:

1. from或者to存在负数时 会被替换为0

2. from和to相等时 返回空字符串

3. from的值小于to的值 他们的值会相互替换

4. 返回的字符包括开始下标对应的字符 不包括结束下标对应的字符

let str = 'abcdefg'

console.log(str.substring(1,5)) // 'bcde'
console.log(str.substring(1,-3)) // 'a'   
onsole.log(str.substring(1)) // 'bcdefg'   
console.log(str.substring(3,2)) // 'c'
console.log(str.substring(4,4)) // ''

3. slice()

function: 截取两个指定下标之间的字符 

grammar: str.slice(from, to)

parameter - from:指定的开始下标 如果为负数 从字符串结尾开始计算位置

parameter - to:指定的结束下标 

note:返回的字符包括开始下标对应的字符 不包括结束下标对应的字符

let str = 'abcdefg'

console.log(str.slice(1,3)) // 'bc'
console.log(str.slice(-3)) // 'efg'
console.log(str.slice(-3,-1)) // 'ef'
console.log(str.slice(-3,1)) // ''
console.log(str.slice(1)) // 'bcdefg'

4. charAt()

function: 截取指定位置的字符

grammar: str.charAt(index)

parameter - index: 指定位置 字符在字符串中的位置

let str = 'abcdefg'

console.log(str.charAt(3)) // 'd'