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); // 不更改原来字符串