2014-03-14 14 views
0

我有一個字符串,我需要排序文本。排序花括號內的多個文本

我的字符串會像

.x{bbc:aa;abc:123;} 
    .y{xyz:40;len:12;ccd:ab;} 

我需要的輸出排序像

.x{abc:123;bbc:aa;} 
    .y{ccd:ab;len:12;xyz:40;} 

請幫助。

+0

看看我的答案 –

回答

0

This Works!

我做了一個功能給你:

function sortarray(str) { 
      var s = str; 
      var insideCurly = /{.*}/g.exec(s)[0].replace(/[{}]/g, '').replace(/;$/, ''); 
      var arr = insideCurly.split(';'); 
      return s.replace(/{.*}/, "{" + arr.sort().join(';') + ";}"); 
     } 

這樣稱呼它:

var sortedString= sortarray(".x{bbc:aa;abc:123;}"); // returns .x{abc:123;bbc:aa;} 

現場演示:http://jsfiddle.net/NWvyE/1

+0

感謝。但是如何處理多個項目,如 .x {bbc:123; abc:aa;} .a {zbc:123; cbc:aa;} – user3409557

+0

使用數組並執行此操作。不要忘記註冊並將其標記爲答案;) –