【发布时间】:2021-10-05 01:03:38
【问题描述】:
所以我有一段代码,它从一个文本文件中取出一行并在另一个文本文件中搜索它。这是我的代码:
const searchStream = (filename, text) => {
return new Promise((resolve) => {
const inStream = fs.createReadStream(filename + '.txt');
const outStream = new stream;
const rl = readline.createInterface(inStream, outStream);
const result = [];
const regEx = new RegExp(text, "i")
rl.on('line', function (line) {
if (line && line.search(regEx) >= 0) {
result.push(line)
}
});
rl.on('close', function () {
console.log('finished search', result)
resolve(result)
});
})
}
searchStream('base_output', str1);
searchStream('base_output', str2);
searchStream('base_output', str3);
我的问题是:
A.我如何执行多个字符串的搜索(str1,str2,str3),因为它只对 str1 进行搜索然后停止。
B.如何在找到字符串时停止搜索,例如searchStream('base_output', str1); -> str1 在文本文件中找到,搜索然后停止,然后移动到 str2,然后到 str3 并将字符串写入,例如,另一个文本文件。
【问题讨论】:
标签: javascript node.js fs readline