【发布时间】:2017-03-31 16:47:39
【问题描述】:
我想打印字符串中包含日期的行,我正在使用拆分模块来完成该任务。下面的代码总是打印 else 语句。
ctrl.js
fs.readFile(dir + '/' + logFile, 'utf8', function(err, data) {
var lines = data.split('\n');
var linesWithDate = lines.split('|')[0].replace(/[\[\]']+/g,'');
lines.forEach(function(line) {
if (linesWithDate) {
console.log('print lines with date',line);
} else {
console.log('print lines without date',line);
}
}
});
文件数据
[2017-03-23T18:13:16Z]|zlpv7490|verbose|bmid: n/a|infra.topicWorkers|topology changed, emitting topology event lorem ipsum
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy
[2017-03-23T19:20:16Z]|zlpv7490|verbose|bmid: n/a|infra.topicWorkers|topology changed, emitting topology event lorem ipsum
【问题讨论】:
-
你试过正则表达式吗?这是正则表达式的 JavaScript 文档的链接。 developer.mozilla.org/ro/docs/Web/JavaScript/Guide/…
-
仅使用 grep 是否存在问题,至少 40 年来它已经能够在睡眠中做到这一点。
-
@torazaburo 我从未使用过 grep 任何参考或示例?
-
嗯,谷歌“grep”。
-
我也有合并任务,如果第二行没有日期与行之前的合并,这是最终目标,不确定 grep 是否也有助于实现这一目标。
标签: javascript node.js regex