簡體   English   中英

JavaScript替換不匹配的字符串?

[英]Javascript replace string which doesn't match?

說我有這個字符串:

cat hates dog

當我進行替換時:

str = str.replace('cat', 'fish');

我只會將“ cat”替換為“ fish”,如何使其工作如下:

  1. 用“魚”代替“貓”
  2. “其他字符串”(else)替換為“山羊”

所以我會得到新的字符串:

fish goat goat

您可以使用此regexp \\b\\w+?\\b

"cat hates dog".replace(/\b\w+?\b/g, function(a) {
    return a === 'cat' ? 'fish' : 'goat';
});

它將匹配每個單詞(單詞字符\\w順序,單詞邊界\\b包圍),並將匹配結果傳遞給replace回調;

輸出:

fish goat goat

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM