如果我这么做了
var x="the dog then the cat ran";
var y=x.replace(/the/g,"");
那么 y 就等于
"dog n cat ran"
删除(或替换)字母“the”后,n 将保留。
如何避免这种情况发生?
最佳答案
您需要添加边界标记,如下所示:
var x="the dog then the cat ran";
var y=x.replace(/\bthe\b/g,"");
// y = " dog then cat ran"
否则,/the/
匹配 then
、breathe
、thesis
等,就像该
。 \b
需要字边界。
如果您想也摆脱then
,请尝试以下操作:
var x="the dog then the cat ran";
var y=x.replace(/\bthe\S*\b/g,"");
// y = " dog cat ran"
删除多余的空格:
var x="the dog then the cat ran";
var y=x.replace(/\bthe\S*\b\s*/g,"");
// y = "dog cat ran"
关于javascript - 为什么javascript中的.replace()会替换then中的 "the"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24966771/