我在这里浏览了与我的问题有关的其他问题,但是他们在我的情况下没有工作,或者我使用它错了,需要更好的解释。
我正在寻找一个大文件,查看第一个单词以查看它是否与用户的输入相匹配,如果是,我想console.log
其余部分。
FILE.TXT
#one: This is the first line
#two: This is the second line
#three: This is the third line
etc
节点Js
// Take in user input
var msgSplit = userInput.split(" ");
if (msgSplit[0].startsWith("#") {
var lineReader = require('readline').createInterface({
input: require('fs').createReadStream('Custom_Phrases')
});
lineReader.on('line', function(line) {
if(line.indexOf(msgSplit[0]) < 0) {
console.log(line);
}
});
}
这种方法很有效,但它会在我想要的之后返回。如果可能,我希望例如用户输入#one,这是第一行记录到控制台。
答案 0 :(得分:1)
line.indexOf(msgSplit[0]) < 0
表示找不到您的用户输入。因此仅显示与用户输入不匹配的行。
试试这个:
// Take in user input
var msgSplit = userInput.split(" ");
if (msgSplit[0].startsWith("#")
{
var lineReader = require('readline').createInterface({
input: require('fs').createReadStream('Custom_Phrases')
});
lineReader.on('line', function(line) {
if(line.indexOf(msgSplit[0]) >= 0)
{
console.log(line);
}
});
}