• js抽取一段文字中有效信息


    • 先分行,然后从所需行信息中处理,判断正则,拼接
    let str = `2022-06-23 08:44:12----信息:开始呼叫,地址:3,工号:103
    2022-06-23 08:44:12----信息:呼叫号码:A001,地址:3,工号:103
    2022-06-23 08:47:28----信息:开始呼叫,地址:3,工号:103
    2022-06-23 08:47:28----信息:呼叫号码:A002,地址:3,工号:103
    2022-06-23 08:48:34----信息:开始呼叫,地址:2,工号:102
    2022-06-23 08:48:34----信息:呼叫号码:A003,地址:2,工号:102
    2022-06-23 08:50:10----信息:开始呼叫,地址:4,工号:104
    2022-06-23 08:50:11----信息:呼叫号码:A004,地址:4,工号:104
    2022-06-23 08:52:05----信息:开始呼叫,地址:5,工号:105
    2022-06-23 08:52:06----信息:呼叫号码:A005,地址:5,工号:105
    2022-06-23 08:54:07----信息:开始呼叫,地址:2,工号:102
    2022-06-23 08:54:08----信息:呼叫号码:A006,地址:2,工号:102
    2022-06-23 08:55:16----信息:开始呼叫,地址:4,工号:104
    2022-06-23 08:56:30----信息:开始呼叫,地址:4,工号:104
    2022-06-23 08:56:30----信息:呼叫号码:A007,地址:4,工号:104
    2022-06-23 08:57:16----信息:开始呼叫,地址:3,工号:103`;
    
    var lines = str.split('\n');
    //console.log(lines);
    let lineExp = /(呼叫号码)/;
    let timeExp = /^\d{4}-\d{1,2}-\d{1,2}\s\d{2}\:\d{2}\:\d{2}/; // Y-m-d H:i:s 时间匹配
    let haoExp = /[A-Z]\d{3}/; // 加上以字母开头怎么不行.....????
    let gonghaoExp = /:\d{3}/; // [\n] 换行 不能用换行匹配,最后一个换行匹配不到
    
    let { timeRes,haoRes,gonghaoRes,lineRes } = new Array();
    let resArr = [];
    console.log(resArr);
    //return;
    
    lines.forEach((item,index) => {
        //console.log(item);
        if(lineExp.test(item)){
            lineRes = [];
            //console.log('匹配到',item);
            timeRes = timeExp.exec(item);
            if(timeRes){
                //console.log(timeRes[0]);
                lineRes.push(timeRes[0]);
            }
    
            haoRes = haoExp.exec(item);
            if(haoRes){
                //console.log(haoRes[0]);
                lineRes.push(haoRes[0]);
            }
    
            gonghaoRes = gonghaoExp.exec(item);
            if(gonghaoRes){
                //console.log(gonghaoRes[0]);
                lineRes.push(gonghaoRes[0].substring(1));
            }
    
            resArr.push(lineRes);
    
        }
    })
    
    console.log(resArr);
    console.log(resArr.length);
    return;
    

  • 相关阅读:
    test
    封装和构造方法
    面向对象
    数组的排序
    UDP编程(八)
    多的是面向对象你不知道的事
    面向对象组合的使用
    类成员的进一步阐述
    面向对象初始
    吾日三省吾身
  • 原文地址:https://www.cnblogs.com/pansidong/p/16407328.html
Copyright © 2020-2023  润新知