歌词解析排序

1.解析歌词代码如下:


let str=`[01:33.50]1111
[02:33.50]asas2222
[03:33.50]3333
[01:35.50][03:33.51] 44[]44
[01:36.50] [03:33.52] [03:33.56]55 55
[01:35.52] [03:33.53] 666`


str=str.replace(/(\[\d{2}:\d{2}.\d{2}\]\s?)+(.+)/g,function($,$1,$2){
    console.log($,'--------',$1,'--------',$2);
    if($.length == $1.length + $2.length){
        return $1+$2;
    }else{
        var str1 = $.split($2)[0].replace(/\s/g,''),a = '';
        for(var j = 0;j < str1.length;j++){
            a += str1.substr(j,10) + $2 +'\n';
            j += 9;
        }
        return a.substr(0, a.length - 1);

    }
    
})

console.log(str)

arr=str.split('\n');
arr.sort((a,b)=>{
    return a.substr(1,8).replace(/[:.]/g,'')-b.substr(1,8).replace(/[:.]/g,'');
})

console.log(arr)

 

2.打印结果如下:

// 正则打印结果
[01:33.50]1111 -------- [01:33.50] -------- 1111
[02:33.50]asas2222 -------- [02:33.50] -------- asas2222
[03:33.50]3333 -------- [03:33.50] -------- 3333
[01:35.50][03:33.51] 44[]44 -------- [03:33.51]  -------- 44[]44
[01:36.50] [03:33.52] [03:33.56]55 55 -------- [03:33.56] -------- 55 55
[01:35.52] [03:33.53] 666 -------- [03:33.53]  -------- 666

// 正则处理后的结果
[01:33.50]1111
[02:33.50]asas2222
[03:33.50]3333
[01:35.50]44[]44
[03:33.51]44[]44
[01:36.50]55 55
[03:33.52]55 55
[03:33.56]55 55
[01:35.52]666
[03:33.53]666 

// 排序后结果

[01:33.50]1111
[01:35.50]44[]44
[01:35.52]666
[01:36.50]55 55
[02:33.50]asas2222
[03:33.50]3333
[03:33.51]44[]44
[03:33.52]55 55
[03:33.53]666
[03:33.56]55 55

 

posted @ 2019-04-22 14:25  yuesu  阅读(241)  评论(0编辑  收藏  举报