RegExp:在任何数字前插入位数

时间:2012-07-20 06:41:41

标签: javascript regex sorting

我想对包含名称和数字的字符串数组进行排序。但是我想改进字母数字排序顺序来获得像

这样的订单
John 8 test
John 9 test
John 10 test

而不是在顶部进行“John 10 test”,因为“1”< “8”< “9”。我的想法是插入任意数字的数字位数,以便在内部排序的数组变为:

John 18 test
John 19 test
John 210 test

现在是一个字母数字正确排序的数组。

如何以简单的方式插入数字的任何想法? RegExp将是完美的。我在nodejs / JavaScript中做了这一切。

提前致谢!

heinob

1 个答案:

答案 0 :(得分:1)

我发现(一)回答了自己:

var a = "John 352 Name 1 test 23 better";
a.replace( /\d+/g, function( match, number) {
    return match.length + match;
});

我想要的是: - )