如何替换子字符串的所有实例,但只替换JS中的整个世界?

时间:2014-02-17 19:41:07

标签: javascript regex mathcontext

例如此功能

function replaceAll(str,x,y){
    return str.split(x).join(y);
}

var x="My cat have a hat a its head.";

replaceAll(x,"at","on")

将从此

返回
  

我的猫头上戴着帽子。

到这个

  

我的头脑很尊重。

但我希望以

返回
  

我的猫头上戴着帽子。

1 个答案:

答案 0 :(得分:0)

使用单词边界正则表达式定义你的函数:

function replaceAll(str,x,y){
    return str.split(new RegExp("\\b"+x+"\\b")).join(y);
}

然后:

repl = replaceAll(x,"at","on")
//=> My cat have a hat on its head.