如何在不影响“巴基斯坦”的情况下替换字符串中的“ is”之类的单词| 节点js

Muh*_*fil 0 javascript string replace

如何替换Node.js中的单词,例如,如果我想将is字符串下面的单词替换为done

He is a Pakistani and is a good person
Run Code Online (Sandbox Code Playgroud)

输出仅给出:

He done a pakdonetani and done a good person代替He done a Pakistani and done a good person。我正在使用此代码:

var str = "He is a Pakistani and is a good person";
var res = str.replace(/is/g, "done");
console.log(res);
Run Code Online (Sandbox Code Playgroud)

可以这样说,改为:

var res = str.replace(/ is /g, "done");
Run Code Online (Sandbox Code Playgroud)

但它对于以下字符串将失败:

var str = "He is a Pakistani and a good person he is.";
Run Code Online (Sandbox Code Playgroud)

为了应对这种情况,我们可以:

var res = str.replace(/ is/g, "done");
Run Code Online (Sandbox Code Playgroud)

但它将失败

var str = "He is a Pakistani, and furthur added 'is a good boy'"
Run Code Online (Sandbox Code Playgroud)

如果这样做:

var res = str.replace(/ is/g, "done");
var res = res.replace(/is /g,"done ");
Run Code Online (Sandbox Code Playgroud)

然后在这种情况下将失败:

var str = "He is a Pakistani, and furthur added 'is a good boy and a caring boy he is'. Besides he said that he lives on an island";
Run Code Online (Sandbox Code Playgroud)

因为它提供了输出:

Hedone a Pakistani, and furthur added 'done a good boy and a caring boy hedone'. Besides he said that he lives on andoneland
Run Code Online (Sandbox Code Playgroud)

Tim*_*sen 10

使用单词边界,并搜索模式\bis\b

var str = "He is a Pakistani, and furthur added 'is a good boy'"
var res = str.replace(/\bis\b/g, "done");
console.log(res);
Run Code Online (Sandbox Code Playgroud)