gpt4 book ai didi

node.js - Node js 字符串解析器

转载 作者:搜寻专家 更新时间:2023-10-31 23:57:07 26 4
gpt4 key购买 nike

我有一个日志数组。

[ '1539024146 17827 add number 1',
'1539024146 18826 start calculation',
'1539024146 18826 end calculation',
'1539024146 18826 14',
'1539024146 18826 update number 1 1',
'1539024146 18826 start calculation',
'1539024146 18826 end calculation,
'1539024146 18826 4',
'1539024146 19825 remove number']

我需要解析这个数组来仅通过命令获取数组。示例:

['add number 1',
'update number 1 1',
'remove number']

我的尝试:

var fs = require('fs');

var array = fs.readFileSync('log.txt').toString().split('\n');

for(var i = 0; i < array.length; i++){
//removing time
array[i] = array[i].replace(/\d{10}[ ]\d{5}/, "");
}
console.log(array);

最佳答案

一种方法可能是迭代数组,然后删除所有不包含指示命令的关键字的日志条目。我们可以为此使用正则表达式替换:

(add|start|end|update|remove)

这是一个代码示例:

var array = [ '1539024146 17827 add number 1',
'1539024146 18826 start calculation',
'1539024146 18826 end calculation',
'1539024146 18826 14',
'1539024146 18826 update number 1 1',
'1539024146 18826 start calculation',
'1539024146 18826 end calculation',
'1539024146 18826 4',
'1539024146 19825 remove number'];

var i = array.length;
while (i--) {
if (!/(add|start|end|update|remove)/.test(array[i])) {
array.splice(i, 1);
}
}

console.log(array);

关于node.js - Node js 字符串解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52713674/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com