手机版

js中字符串正则表达式替换方法的详细说明

时间:2021-09-05 来源:互联网 编辑:宝哥软件园 浏览:

replace方法是javascript中涉及正则表达式的复杂方法,严格来说应该是字符串对象方法。只是说到规律性,就更多了。我们需要灵活运用。

语法:字符串对象。replace (regexp/substr,replace);

第一个参数:必选。子字符串或常规RexExp在字符串中被替换;

第二个参数:必选,字符串值,指定替换文本或生成替换文本的功能。

返回值:注意它的返回值是一个新的字符串,不改变原来的字符串。它是在用替换替换regexp的第一个匹配或所有匹配后获得的。

因此,根据其参数的不同,可以分为多种情况,并对各种情况进行如下一对一分析:

第一,两个参数都是字符串

Var str1='这是一段原文,需要替换'这需要替换'!';Var newStr=str1.replace('这个需要替换','需要替换');console . log(NewStr);//输出:这是一段原文,需要替换的内容是‘需要替换’!在上面的示例中,第二个参数字符串“需要替换”替换了第一个参数字符串“这将被替换”。这是最简单的形式。

2号的第一个参数是正则的,第二个参数是字符串

Var str2='这是一段原文,需要替换'ac这需要替换bb '!';var newStr=str 2 . replace(/([a-z])/g,' qqqq ';console . log(NewStr);//输出:这是原文,要替换的内容是‘qqq,这是替换qqq’!上面的示例字符串“qqq”替换了常规匹配的内容。如果regexp有全局标志g,replace()方法将替换所有匹配的子字符串。否则,它只替换第一个匹配的子字符串。

3号的第一个参数是正则的,第二个参数是带$符号的字符串

Var str3='这是一段原文,' 3c,这是替换4d '!';var newStr=str 3 . replace(/([0-9])([a-z])/g,' $ 1 ');console . log(NewStr);//输出:这是一段原文,‘3这个应该代替4’!

在上面的例子中,$1表示regexp ([0-9])中的第一个子表示匹配一个数字,同样,如果是$2,则表示第二个子表示([a-z]);因此,“3c”的匹配整体被第一子表示的“3”代替,“4d”被第一子表示的匹配数字“4”代替。其他几个也可以通过同样的方式获得:

(/([0-9]) ([a-z])/g,“$ 2”)—////输出:这是一段原文,“C应该代替D”!(3c和4d替换为对应的第二子表示匹配的c和d)(/([0-9])([a-z])/g,“$ '”—////输出:这是一段原文,“这个需要替换d”!这个应该换掉”!"!(3c替换为3c右侧的文字,4d右侧为“!替换,所以它会出现两次)

第四,第一个参数是正则的,第二个参数是函数

Var str4='这是一段原文,需要替换'aa,这需要bbb来取代ccccc '!';var newStr=str 4 . replace(/[a-z]/g,function($ 0){ var str=' ';for(var I=0;i $0 .长度;I){ str=' * ';};返回字符串;} );console . log(NewStr);//这是原文的一段,需要替换' * *这是要用* * * * * * '替换!上述示例函数的第一个参数是整个匹配的regexp,返回值是根据length函数对应的替换文本;

5号的第一个参数是正则的,有子表达式,第二个参数函数有多个参数

Var str5='这是一段原文,需要替换' 3c,需要替换为4d '!';var newStr=str 5 . replace(/([0-9])([a-z])/g,function (arg1,arg2,arg3,arg4,arg 5){ console . log(arg 1);console . log(arg 2);console . log(arg 3);console . log(arg 4);console . log(arg 5);} );输出:

3c3c17这是一段原文,需要替换' 3c,这个需要换成4d '!4d4d23

这是一段原文,需要替换。3c,这个需要换成4d '!

在上面的例子中,第一个参数arg1代表整个匹配,arg2代表第一个子表达式,arg3代表第二个子表达式,下一个参数arg4是一个整数,它声明了子匹配出现在stringObject中的位置。最后一个参数是stringObject本身。

这些都是替换方法的可能情况。确实是一种需要深入理解的方法,但也是一种强有力的方法,值得进一步研究!

版权声明:js中字符串正则表达式替换方法的详细说明是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。