替换整行 Node.js

Replace Whole Line Node.js

我想读取一个文本文件,如果找到用户 ID,则从文本文件中删除整行,然后重新保存文本文件。

为了阐明文本文件中的每一行,如下所示(但没有要点)

所以我在下面做了以下代码。

client.on('guildMemberRemove',(member) => {
    var text = fs.readFileSync("textfile.txt", "utf8");
    text.split('\n').filter(function(line){ 
    return line.indexOf( member.id ) == -1;
    }).join('\n')
fs.writeFile("emails.txt", text, () => {});
console.log("Working");
});

但是,带有 id 的行似乎没有被删除。谁能解释一下为什么?

您需要保存您的操作结果,因为每次您都在创建一个新字符串。

var text = fs.readFileSync("textfile.txt", "utf8");
text = text.split('\n').filter(function(line){ 
  return line.indexOf( member.id ) == -1;
}).join('\n')

其余代码可以保持不变。