字符串方法
slice 提取字符串的一部分,并将其作为新字符串返回,而不修改原始字符。
(function(){
console.log('zhangsan'.slice(0,-1)) // zhangsa
console.log('zhangsan'.slice(-1)) // n
console.log('zhangsan'.slice(1)) // hangsan
})()
split 根据某种搜索模式将原字符串分割成子串,并将子串依次放到数组中。
(function(){
console.log('()'.split()) // [ '()' ]
console.log('()'.split('')) // [ '(', ')' ]
console.log('zhangsan'.split('a')) // [ 'zh', 'ngs', 'n' ]
console.log('zhang san '.split(' ')) // [ 'zhang', 'san', '' ]
})()
思考: 以上方法是将字符串以数组的形式进行展示,那么有没有一种方法将数组中的每一个元素合成一个字符串呢。答案是有的如下
- toString
(function(){
console.log(typeof [1,2,3,4].toString()) // string
})()
- join 以某种模式将数组中的每一项拼接成字符串
(function(){
console.log(typeof [1,2,3,4].join()) // 1,2,3,4 string
console.log(typeof [1,2,3,4].join('')) // 1234 string
console.log(typeof [1,2,3,4].join('-')) // 1-2-3-4 string
})()
好了该回到主题了
replace 匹配字符串的某个值,然后将它替换,它将返回一个新的字符串。不修改原字符串。
(function(){
console.log('zhansan'.replace()) // zhansan
console.log('zhansan'.replace(1)) // zhansan
console.log('zhansan'.replace('z')) // undefinedhansan
console.log('zhansan'.replace('an', 'ang')) // zhangsan
console.log('zhansan'.replace(/an/g, 'ang')) // zhangsang
})()
如果想一次替换所有的可使用 replaceAll
判断字符串是否以某个字符开头或者结尾该用那个方法呢
(function(){
console.log('(zhansan)'.endsWith(')')) // true
console.log('{zhansan)'.startsWith('{')) // true
})()
includes 判断字符串中是否包含某一个字符串
(function(){
console.log('(zhansan)'.includes('(')) // true
console.log('(zhansan)'.includes('(', 1)) // false
})()
去除字符串空格
(function(){
console.log(' zhan san '.trim()) // zhan san
console.log(' zhan san '.trimEnd()) // _zhan san
console.log(' zhan san '.trimStart()) // zhan san_
})()