javascript - 如何在 JS 中替换子字符串的所有实例但仅替换整个世界?

标签 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")

将从这里返回

My cat have a hat at its head.

到此

My con have a hon on its head.

但我想返回

My cat have a hat on its head.

最佳答案

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

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.

关于javascript - 如何在 JS 中替换子字符串的所有实例但仅替换整个世界?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21837896/

相关文章:

python - 从 python 中的字符串确定 "type of value"

java - 是否存在 Bigdecimal 与 MathContext.DECIMAL32 无法提供正确结果的情况?

javascript - Discord.js 如何为我的机器人所在的每个公会创建邀请?

javascript - anguarl1 ng-repeat 在父项 ng-init 中异步返回的项目上

javascript - 根据页面滚动更改div位置

regex - 如何检测 Perl 正则表达式中有多少捕获组?

mysql - Logstash Grok 模式解析 mysql 查询

java - java.math.MathContext 的使用

javascript - 如何刷新解析?