2013-04-23 141 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, ">")