欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js replace 全局替换的方法

程序员文章站 2022-05-04 11:22:24
js 的replace 默认替换只替换第一个匹配的字符,如果字符串有超过两个以上的对应字符就无法进行替换,这时候就要进行一点操作,进行全部替换。 ~~~ var str = "javascript"; console.log(str .replace("a","A"));//输出:jAvascrip ......

js 的replace 默认替换只替换第一个匹配的字符,如果字符串有超过两个以上的对应字符就无法进行替换,这时候就要进行一点操作,进行全部替换。

var str = "javascript";
console.log(str .replace("a","a"));//输出:javascript

上面这段代码,只能替换第一个字符“啊”,第二个“a”就无法替换,这样就没办法满足大多数使用js(replace)的需求

var str = "javascript";
console.log(str.replace(/a/g, "a"));//输出:javascript

这样,就可以实现整个字符串的替换。
我们这里用到了正则函数的/g全部的使用。这样就可以实现整个字符串的替换效果。
下面,我们大家可能还有个需求无法满足,那就是,我们替换定值可以使用这个,但是替换变量怎么使用?
接下来,就说一下替换变量的使用方式。
简单介绍一下eval() 函数可计算某个字符串,并执行其中的的 javascript 代码。接下来主要靠这个函数。

var ch = "a";
var reg = "/"+ch+"/g";
var str = "javascript";
console.log( str.replace(eval(reg),"a"));//输出:javascript

但是如果要替换的字符串中含有/符号时,上面的就不能用了,需要采取以下方法

var ch = "/";
var str = "java/script";
console.log(str .replace(new regexp(ch,'g')," "));//输出:java script

文章参考:https://www.cnblogs.com/stubborn-donkey/p/9173089.html