我想在字符串中打印包含日期的行,我正在使用拆分模塊來實現該任務。下面的代碼總是在打印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文檔鏈接。 https://developer.mozilla.org/ro/docs/Web/JavaScript/Guide/Regular_Expressions – PianoSong
僅僅使用grep,在睡眠中至少可以做40年這個問題有一些問題。 – 2017-03-31 17:56:30
@torazaburo我從來沒有使用grep任何參考或示例? – hussain