2014-10-17 85 views
0

我嘗試刪除多個分號(;)替換爲javascrpt中的單個分號(;)。在javascript中替換多個分號到單個分號

代碼:

var test ="test1;;test2;;;test3;;;;test4;;;;test5;;;;;test6;;;;;;test7;;;;;;;test8;;;;;;;;test9" 
test.replace(";;",";") 

,但沒有得到正確的輸出(必須使用替換) 如果任何解決方案

我需要像輸出:

test1;test2;test3;test4;test5;test6;test7;test8;test9 

回答

5

三個問題有:

  1. 作爲第一個參數傳遞一個字符串到replace時,只會替換第一個匹配項。要進行全局替換,必須使用帶有g標誌的正則表達式。

  2. 如果它確實整個字符串,你只用;取代;;,所以如果你有;;;;你想最終;;(每兩個被取代)。一個正則表達式在這裏也有幫助,具體是/;+/g這意味着「一個或更多;字符,全局在字符串中。」

  3. replace不會更改您調用它的字符串,它返回帶有更改的新字符串。要記住它的作用,你必須在某處指定結果。

所以:

test = test.replace(/;+/g, ';');