2013-10-18 36 views
0

如何用Javascript中的正則表達式替換字符串?如何在JavaScript中用正則表達式替換字符串

一個特定的正則表達式現在正在竊聽我。我只是想更換count=15在這樣的字符串:

countryNo=-1&count=**20**&page=2 

或者

countryNo=-1&count=**30**&page=2 

我曾嘗試以下:

countryNo=-1&count=15&page=2 

我怎樣才能得到一個格式類似如下:

var x = 'countryNo=-1&count=15&page=2'; 
x = x.replace('count=\d{2}', 'count=30'); 

Nothi ng發生。我怎樣才能使它工作?

回答

6

使用正則表達式的文字,而不是一個字符串:

x = x.replace(/count=\d{2}/, 'count=30'); 

參考:MDN on regular expressions

順便說一句,你可能會機,您不必重複"count="

x = x.replace(/(count=)\d{2}/, '$130'); 
+0

對於completness起見,你能解釋一下'DRYer'(編輯)的歡呼聲! –

+2

@Neurofluxation它意味着「更幹」,DRY是「不要重複自己」的縮寫,這是可維護編碼的重要原則。 –

+0

你知道...從10歲開始編程,11歲從未聽過DRY的縮寫。我聽說過不要重複自己,但絕不幹。在這裏,有一個upvote! –

0

您正在將您的正則表達式指定爲字符串。用途:

x = x.replace(/count=\d{2}/, 'count=30'); 
0

從字符串字面

嘗試刪除正則表達式如下

x = x.replace(/count=\d{2}/, 'count=30');