2013-04-23 142 views
0

我找过replace()例子,我不能完全肯定要做到这一点的最好办法:Javascript替换部分匹配?

说我有一个字符串像

{G}{J}{L}... 

什么用string.replace()改变的最佳途径内部和外部的托架,但离开他们的信?我是否需要为外括号和内括号进行单独的匹配,还是可以/更快地在单个语句中执行?

我看到$可以得到整个比赛,我想我可以删除第一个和最后一个字符,并将它们替换后但似乎很慢。

+0

你所说的“内外括号”的意思是? – 2013-04-23 16:33:21

+0

大括号{}。左右是更好的术语呢?所有的对。 – Glem 2013-04-23 16:34:17

+0

@格伦:是的。更好的术语将是“开放”和“关闭”。内/外只有在嵌套对时才会发现... – Bergi 2013-04-23 16:35:28

回答

3
> "{G}{J}{L}".replace(/{(.)}/g,"$1") 
"GJL" 

这是你在追求什么?或者,也许这个?

> "{G}{J}{L}".replace(/{(.)}/g,"[$1]") 
"[G][J][L]" 
+0

更多沿着用新字符替换它们的东西,例如 。这只是“<" + $1 + ">” – Glem 2013-04-23 16:35:45

+0

请参阅编辑:) – 2013-04-23 16:35:57

+0

非常感谢! – Glem 2013-04-23 16:37:34

0

一个非常简单的方法是只单独进行更换,除非你的字符串是巨大的性能差异可以忽略不计:

var string = "{G}{J}{L}"; 
string = string.replace(/\{/g, "<").replace(/}/g, ">")