搜索文件中的关键字,然后记录该行的其余部分

时间:2016-08-02 16:09:58

标签: javascript node.js

我在这里浏览了与我的问题有关的其他问题,但是他们在我的情况下没有工作,或者我使用它错了,需要更好的解释。

我正在寻找一个大文件,查看第一个单词以查看它是否与用户的输入相匹配,如果是,我想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,这是第一行记录到控制台。

1 个答案:

答案 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);
    }
  });
}