replace()
replace() 用来替换一个字符串中的特定字符,并返回替换后的字符串。
string.replace(searchvalue,newvalue);
searchvalue : 用来指定字符串中将要被替换的值
注:
1、searchvalue 的值可以是一个将要被替换的字符串,也可以是一个正则表达式,但是当 searchvalue 的值为字符串的话,只能替换第一个匹配项,但是当 searchvalue 的值为正则表达式的话(在修饰符 g 的作用下),则可以替换所有的匹配项
var content='I am nice and welcome to my nice blog';
//此时 searchvalue 的值为一个所要被替换的字符串,且只能替换第一个匹配项
console.log(content.replace('nice','NICE')); //结果为 I am NICE and welcome to my nice blog
//此时 searchvalue 的值为一个正则表达式,在修饰符g的作用下可以替换全部的匹配项
console.log(content.replace(/nice/g,'NICE')); //结果为 I am NICE and welcome to my NICE blog
newvalue : 用来指定被替换后的值
search()
search() 用来搜索指定的字符串,并返回第一个匹配项中的第一个字符的位置(从0开始算起),如果没有匹配项的话,则将会返回-1
string.search(regexp)
regexp : 正则表达式,用来匹配所要搜索的字符串
注:
1、如果此参数不是一个正则表达式,而是一个字符串的话,此字符串将会被隐式地转换成正则表达式(通过 new RegExp(regexp))
var content='I am nice and welcome to my nice blog';
console.log(content.search('welcome')); //返回 14
console.log(content.search(/welcome/)); //返回 14
match()
match() 用来匹配指定的字符串,并以Array的形式返回所有的匹配项,如果没有匹配项的话,将返回 null
string.match(regexp)
regexp:正则表达式,用来匹配字符串
注:
1、如果此参数不是一个正则表达式,而是一个字符串的话,此字符串将会被隐式地转换成正则表达式(通过 new RegExp(regexp))
2、如果此参数为一个字符串的话,只能返回第一个匹配项,但是如果此参数为一个正则表达式的话,在使用修饰符 g 的情况下,可以返回所有的匹配项
3、与 string.match() 相似,regexpObject.exec(content) 也是用来返回匹配项,但是 regexpObject.exec(content) 每次只能返回一个匹配项,如果需要返回所有的匹配项的话,就需要通过遍历的方式,关于 regexpObject.exec() 请移步:正则表达式(RegExp)整理:JS 中 RegExp 对象的 compile()、exec() 与 test() 方法
4、如果此参数为空的话(即直接使用string.match()),返回的结果为 [""]
var content='I am nice and welcome to my nice blog';
console.log(content.match('nice')); //返回第一个匹配到的nice,即 ['nice']
console.log(content.match(/nice/g)); //返回所有的nice,因为有修饰符g,即 ['nice','nice']
console.log(content.match()) //regexp参数为空,返回 ['']
最后,希望这篇文章能带给你点启发,Have Fun!