1.split
我们都知道,字符串的split方法是将字符串分割成一个字符串的数组。在学习正则之前,我们通常分隔符为空格或者一个字母。
var str = 'I am a student';
var res = str.split(' '); //['I','am','a','student']
知道了正则之后,可以在括号里写一个正则表达式,可以根据正则表达式还分割字符串
//根据字母将字符串分割开
var str = "1a2b3c4d5e6f7";
var res = str.split(/[a-z]/);
console.log(res);
// [ '1', '2', '3', '4', '5', '6', '7' ]
2.search
search方法和indexOf方法类似,唯一的差别在于search方法可以将正则表达式作为参数。
返回第一个找到的正则的下标,且不能全局查找!
/* search()可以搜索字符中是否含有指定内容
- 搜索字符串中是否包含 abc 或 aec 或 afc*/
var target = "hello abc hello afc aec";
var result = target.search(/a[bef]c/);
console.log(result);
// 6
3.match
match方法可以根据正则表达式,从一个字符串中将符合条件的内容提取出来,返回一个数组。match方法,不会改变字符串结构。
/*找出字符串里的所有字母*/
var str = "1a2b3c4d5e6f7";
var res = str.match(/[a-z]/g);
console.log(res);
// [ 'a', 'b', 'c', 'd', 'e', 'f' ]
4.replace
replace()可以将字符串中指定内容替换为新的内容 ;返回一个新的字符串,所以replace不会改变原字符串的结构
/*将字符串里的所有a替换为@_@*/
var str = "1a2b3a4a5c6d";
var res = str.replace(/a/g,"@_@");
console.log(res);
// 1@_@2b3@_@4@_@5c6d
注意,这里是要替换所有的a,所以需要加上匹配模式g,全局替换。