字符串常用

105 阅读1分钟

字符串方法

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', '' ]
})()

思考: 以上方法是将字符串以数组的形式进行展示,那么有没有一种方法将数组中的每一个元素合成一个字符串呢。答案是有的如下

  1. toString
(function(){
    console.log(typeof [1,2,3,4].toString()) // string
})()
  1. 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_
})()