53.字符串和正则相关的方法
split()函数
- 可以将一个字符串拆分为一个数组
- 该方法可以传递一个正则表达式作为参数,这样方法将会根据正则表达式去拆分字符串
- 用法
var str="1a2b3c4d5e";
var result = str.split(/[A-z]/);
console.log(result);
- 结果
由此可见,split()函数拆分出来的结果,是用一个数组来存放
search()函数
- 可以搜索字符串中是否含有指定内容
- 如果搜索到指定内容,则会返回第一次出现的索引,如果没有搜索到则返回 -1
- 它可以接受一个正则表达式作为参数,然后会根据正则表达式去检索字符串
- 只会查找第一个,即使设置成全局匹配也没有用
- 用法:
str="hello abc hello abc"
result=str.search(/a[bef]c/);
console.log(result);
- 结果:
从结果中可以看出,只返回第一个检索出的位置
ps:在正则表达式中 [ ] 可以代替 |,表示或者的意思
match()函数
- 可以根据正则表达式,从一个字符串中将符合条件的内容提取出来
- 默认情况下我们的match()只会找到第一个符合要求的内容,找到以后就会停止检索
- 我们可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容.可以为一个正则表达式设置多个匹配模式,且顺序无所谓
- 用法:
str="hello abc hello abc"
result=str.match(/a[bef]c/g);
console.log(result);
- 结果:
match()函数也是将提取的结果放进数组中,便于后面将要进行的操作
replace()
- 可以将字符串中指定内容替换为新的内容
- 参数:
1.被替换的内容,可以接收到一个正则表达式作为参数
2.新的内容
- 默认只会替换第一个
str="hello abc hallo aec";
result=str.replace(/a[be]c/g,"1");
console.log(result);
- 结果:
在正则表达式中加了一个g,则在全局检索,全局替换