猿问

请问关于js的replace如何全部替换目标字符串?

js的replace如何全部替换目标字符串


慕工程0101907
浏览 697回答 4
4回答

哆啦的时光机

js提供的字符串替换函数replace可以将字符串中符合条件的字符串替换成目标字符串。但是一般使用字符串进行查找替换只能替换第一个符合条件的结果。如 var str = 大家都是男人吗,难道不是吗!; str = str.replace('吗', '嘛'); alert(str); var str = 大家都是男人吗,难道不是吗!;str = str.replace('吗', '嘛');alert(str); 上述代码中只有第一个吗被替换,输出结果是大家都是男人嘛,难道不是吗! ,嘿嘿 如果想全部替换字符串中全部符合条件的内容,用正则表达式替换是个不错的办法,如下代码可以实现全部替换 var str='大家都是男人吗,难道不是吗?'; str = str.replace(/吗/g, '嘛'); alert(str); var str='大家都是男人吗,难道不是吗?';str = str.replace(/吗/g, '嘛');alert(str); 这样就会输出大家都是男人嘛,难道不是嘛?,全部符合条件的内容都被替换了,特别要注意的是正则表达式 /吗/g 这里的g,这个g表示全局,不给这个配置项是不会全部替换的。 当然通过复杂的正则表达式,js的replace还能实现更丰富的字符串替换处理效果的。

三国纷争

由于js中没有类似replaceAll函数。可以使用 正则表达式的全局查找功能 进行替换。1234var s="alsjfdialsdjflkjasldf"; // 源字符串var p=/a/g;                    // 正则表达式,匹配字符a,其中g为全局查找标记。若 var p=/a/; 只能替换第一个a。var v=s.replace(p,"");        //替换。也可直接 s.replace(/a/g,"");alert(v);
随时随地看视频慕课网APP
我要回答