gpt4 book ai didi

javascript正则表达式替换所有出现的地方

转载 作者:行者123 更新时间:2023-12-01 02:20:36 24 4
gpt4 key购买 nike

我试图用以下代码匹配并替换所有出现的模式,但它不起作用:据我了解正则表达式,模式应该是 /string/g

var text = "ldkfglkfdj {example} fdgfdgfdg {example}";

var List = ["{example}", "string"];

function replace(text) {
for (var key in List) {
if (text.includes(key)){
var regexp = new RegExp("/"+key+"/g");
text = text.replace(regexp, List[key]);
}
}
return text;
}

最佳答案

  1. 在创建显式 RegExp 对象时,不要包含 //。仅在创建隐式语法时才使用该语法: var reg =/something/g;
  2. g 开关作为第二个参数传递给 RegExp 作为字符串。
  3. 此外,您不需要 if 测试。只需进行替换,如果模式已经存在,它将被替换。如果没有,就不会。
  4. for/in 循环用于循环对象,而不是Arrays,在这里,您首先不需要循环。只需找到 List[0] 并替换为 List[1]
  5. 最后,您用相同的模式替换了找到的模式。

var text = "ldkfglkfdj {findThis} fdgfdgfdg {findThis}";

var List = ["{findThis}", "replaced!"];

function replace(text) {
var regexp = new RegExp(List[0], "g");
return text.replace(regexp, List[1]);
}

console.log(replace(text));

关于javascript正则表达式替换所有出现的地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49243084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com