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;
相信坚持的力量,日复一日的习惯.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2019-06-24 vim 复制粘贴
2019-06-24 申请免费 https 证书