2012-05-15 138 views
0

我已經讓我們說這個字符串:爲比賽添加前綴字符串

「A =貝塔* C /三角洲+ 2」;

現在我想用同樣的名稱替換所有的變量(A,Beta,C,Delta),但前面有一個前綴,比如「x」。所以它會變成:

「xA = xBeta * xC/xDelta + 2」;

也許我的頭只是很累,但我想不出一個解決方案。

要找到匹配的,這很容易,只需對測試/ [A-ZA-Z] +/正則表達式,但我應該怎麼在javascript中得到什麼,我發現並沒有使用多個函數調用方便地更換呢?

回答

4

試試這個:

var str = "A = Beta * C/Delta + 2"; 
var prefixed = str.replace(/([a-zA-Z]+)/g, 'x$1'); 

結果:

xA = xBeta * xC/xDelta + 2 
+0

jmar777,謝謝!真的有用。因爲我相信$ 1是與正則表達式匹配的字符串? –

+1

正確 - $ 1表示括號中包圍的第一個匹配的「組」。 2美元將是第二組,等等。 – jmar777