可以和正则表达式一起使用的4个字符串方法

1.split,把字符串拆分成数组

这个方法返回的是一个数组,并不会改变原字符串

例子:

 var str = '1a2b3c4d5'
        // 提取数字
        console.log(str.split(/[a-z]/i).join('')); // 12345
        // 提取字母
        console.log( str.split(/[0-9]/).join('')); // abcde
 console.log(str) // 原字符串不变,还是1a2b3c4d5

需要注意的是,split是自动匹配全局的,正则表达式中不用写g了

2.replace,替换字符串,串两个参数

str.replace('原字符串','新字符串')

特性:1.支持正则 

           2. 支持全局匹配 g 

           3.返回新字符串,不更改原字符串

例子:

  str = 'abcdea'
 console.log(str.replace(/a/gi,'b')); // 返回新字符串
 console.log(str); // 不更改原字符串

3.search,返回被搜索字符串的index,不支持全局匹配,正则里写了g也没用,只会返回一个下标

   str = 'abcdea'
   console.log(str.search(/a/)); // search 返回index,不能进行全局匹配,只会返回一个index

4.match,返回一个匹配字符串的数组,不改变原字符串,支持全局匹配

例子:

这个例子和split返回的结果是一样的,不同的是,正则需要写上g

 str = '1a2b3c4d5d'
        console.log(str.match(/[a-z]/ig).join('')); // 12345
        console.log(str.match(/[0-9]/g).join('')); // abcde
        console.log(str); // 不更改原来字符串
原文地址:https://www.cnblogs.com/luguankun/p/12495599.html