2012-05-15 101 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