将正则表达式作为参数的字符串方法你知道几种?

JS中有四个可以将正则表达式作为参数的字符串方法,这四个方法用的非常多,非常重要,下面让我们一起来学习一下吧!

search()与indexOf()用法基本相同,都是用来检索一个字符串中是否含有指定内容,如果字符串中含有该内容则返回其第一次出现的索引,如果没有找到指定内容则返回-1,如:

varstr='abcdabcd'

console.log(str.search('d'))//3

console.log(str.search('e'))//-1

search()与indexOf()不同的是,search()可以接受一个正则表达式作为参数,且不能设置全局匹配模式,如:

varstr='abcdabcd'

console.log(str.search(/d/))//3

另外,indexOf()可以设置第二个参数用来指定开始查找的位置,但是search()没有第二个参数,如:

varstr='abcdabcd'

console.log(str.search('d',4))//3

console.log(str.indexOf('d',4))//7

split()  该方法可以将一个字符串拆分为一个数组,需要一个字符串作为参数,将会根据该参数拆分字符串,也可以用正则表达式进行拆分,默认全局拆分,如:

varstr="abcdabcd"

console.log(str.split("d"))//["abc", "abc", ""]

console.log(str.split(/d/))//["abc", "abc", ""]

match() ,可以根据正则表达式,从一个字符串中将符合条件的内容提取出来,封装到一个数组中返回,默认只会找到第一个符合条件的内容,但是可以设置正则表达式为全局匹配模式,进行全局查找,如:

varstr="abcdabcd"

console.log(str.match('d'))//["d", index: 3, input: "abcdabcd", groups: undefined]

console.log(str.match(/d/g))//["d", "d"]

repalce(),可以将字符串中指定内容替换为新的内容,默认只会替换第一个,但是可以设置正则表达式为全局匹配模式,进行全局查找。

参数1: 被替换的内容,可以接受一个正则表达式

参数2,要替换的内容

varstr="abcdabcd"

console.log(str.replace('d','-'))//abc-abcd

console.log(str.replace(/d/g,'-'))//abc-abc-

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容