如果我做了
var x="the dog then the cat ran";
var y=x.replace(/the/g,"");
然后y等于
"dog n cat ran"
在收到字母""之后,n将保留。从那时起删除(或替换)。
如何防止这种情况发生?
答案 0 :(得分:6)
您需要添加边界标记,如下所示:
var x="the dog then the cat ran";
var y=x.replace(/\bthe\b/g,"");
// y = " dog then cat ran"
否则,/the/
与then
,breathe
,thesis
等匹配,就像the
一样容易。 \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"