0
如果我沒有爲什麼javascript中的.replace()會替換那個「the」?
var x="the dog then the cat ran";
var y=x.replace(/the/g,"");
那麼y將等於
"dog n cat ran"
n個將保持具有從那麼字母 「該」 移除(或替換)後。
我該如何防止這種情況發生?
如果我沒有爲什麼javascript中的.replace()會替換那個「the」?
var x="the dog then the cat ran";
var y=x.replace(/the/g,"");
那麼y將等於
"dog n cat ran"
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
等,很容易爲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"
單詞邊界+1 – zx81
有空格: var y = x.replace(/ \ sthe \ s/g,「」);下面的答案是更好,但使用! – Jordan
請注意,這不是一個真正的JavaScript問題,它是關於爲什麼特定的正則表達式匹配某些文本的基本正則表達式問題。 – nnnnnn