在花括号内排序多个文本

时间:2014-03-14 03:47:53

标签: javascript

我有一个字符串,我需要从中对文本进行排序。

我的字符串就像

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

我需要将输出排序为

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

请帮忙。

1 个答案:

答案 0 :(得分:0)

这有效!

我为你做了一个功能:

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