2013-01-06 31 views
0

我有這個字符串,我試圖圍繞後面的 '位置'和顏色的數組數組包圍括號。使用javascript換行包裹數字。替換正則表達式

STR = 'Label_3_1:{位置:115234,寬度:126,高度:20 ,文字: 「另一個按鈕」,字號:18,顏色:0,0,0,1}'

我可以用這個正則表達式來做到這一點,但只有當每個逗號

str = str.replace(/([\d\.]+(, [\d\.]+)+)/g, "[$1]"); 

我試圖使它沒有任何空格工作崗位的數量有一個空間。

輸出應該是這樣的

str = 'Label_3_1:{Position: 115,234,Width: 126,Height: 20,Text:"Another Button",FontSize: 18,Color: [0, 0, 0, 1] }' 
+1

那是哪裏字符串來自何處?如果可能,發送編碼爲JSON的字符串,然後在JS中解碼。 – elclanrs

回答

1

通過添加\s*,它的工作原理

str.replace(/([\d\.]+(,\s*[\d\.]+)+)/g, "[$1]");

這是結果:

"Label_3_1:{Position: [115,234],Width: 126,Height: 20,Text:"Another Button",FontSize: 18,Color: [0,0,0,1]}"

+0

完美。謝謝! – Rob