2013-10-28 45 views
0

我有以下腳本在javascript的Javascript代替,忽略了第一場比賽

var idText; 
var idText1; 
idText = "This_is_a_test"; 
idText1 = idText.replace(/_/g, " "); 
alert(idText1); 

當我告訴idText1,它取代所有的下劃線,並在他們的空間放。但是,我試圖保留第一個下劃線,所以我得到「This_is a test」。這可能嗎?

+0

使用回調而不是空間作爲第二個參數。 –

回答

3

這當然是可能的,這裏是一個選項:

var n = 0; 
idText1 = idText.replace(/_/g, function($0) { 
    n += 1; 
    return n === 1 ? $0 : " "; 
}); 

這將使用該遞增每場比賽的計數器更換回調,並通過檢查的值替換原文字的第一場比賽那個櫃檯。

+0

當我嘗試這個時,警告彈出窗口顯示「未定義」 – Pryach

+0

現在試一試,我只是顯示替換,而沒有將結果返回給'idText1'變量。 –

+0

現在工作,謝謝。 – Pryach