我正在寻找用一个字符串替换多个单词。我正在尝试使用替换方法(here the description),但我不能将它用于多个单词。让我举一个例子:
var test = new String("Hi how are you? lol");
var newTest = test.replace(/lol/, "ok", "gim");
console.log(newTest);
此代码正常工作并打印“你好,你好吗?好”。我想更换“lol”而不是“Hi”,我正在尝试这样做:
var test = new String("Hi how are you? lol");
var newTest = test.replace(/lol||hi/, "ok", "gim");
console.log(newTest);
但是第二个版本不起作用。简单的解决方案是将替换函数插入for并调用每个单词的函数,但我会一次更改所有单词。你有什么想法?非常感谢。
答案 0 :(得分:1)
使用单|
代替||
。正则表达式只支持OR
var test = new String("Hi how are you? lol");
var newTest = test.replace(/lol|Hi/gim, "ok");
console.log(newTest);
输出:
ok how are you? ok
写的代码也是错误的。 gim修饰符只有在你按照这样的方式工作:.replace(new RegExp("lol|hi","gim"),"ok");
.replace
仅使用两个参数。检查here