在Txt文件中查找字符串,删除整行

泰勒·罗珀(Tyler Roper)

我目前正在使用node.js创建一个IRC机器人。该机器人允许用户将歌曲链接添加到数据库。每次有人提交歌曲时,都会将其添加到“ shuffle.txt”的新行中,如下所示:

user1,The Beatles,Yesterday,(youtube link)
user2,The Rolling Stones,Angie,(youtube link)
user1,The Bealtes,Yellow Sumbarine,(youtube link)

请注意,user1在最新添加的内容中键入了一些信息。我试图发出一个UNDO命令,以便用户可以删除他们最近输入的行。我计划通过在shuffle.txt中找到其名称的最新出现并删除其上的整行来做到这一点。这是我的消息监听器:

bot.addListener('message', function(from, to, message) {
    if (message.indexOf(config.prefix) == 0) {

        message = message.slice(1);
        var token = message.split(" ");

        if (token[0] == 'undo') {
              //find and delete
            }

    }
});

输入命令的用户存储为 from

我假设我必须按照以下方式做点事情:

var songList = fs.readFileSync('shuffle.txt', 'utf8');
var position = songList.indexOf(from);

if (position != -1) { //if 'from' found

  //find LAST occurrence of 'from'
  //get length from here to next occurrence of '\n'
  //substr(length + 1)

  fs.writeFile('shuffle.txt', songList, function(err) {
    if (err) {
      console.log (err);
    }

}

我是JavaScript的新手,这是我第一次使用node.js,因此我可以使用可以获得的任何帮助!谢谢大家。

编辑:我还应该指出,我不需要命令识别方面的帮助。我只需要查找/删除部分方面的帮助。干杯!

莫修

Edit2:使用新解决方案进行编辑。

您可以尝试以下方法:

fs.readFile('shuffle.txt', function read(err, data) {
    if (err) {
        throw err;
    }

    lastIndex = function(){
        for (var i = data_array.length - 1; i > -1; i--)
        if (data_array[i].match('user1'))
            return i;
    }()

    delete data_array[lastIndex];

});

将文件分割成几行,找到一个带有倒退的简单循环的最后一行,使用删除该行delete,然后将其修补在一起。

演示

另外,您不应该readFileSync在in节点上使用,因为阻塞节点是单线程的,因此可能很危险。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Txt文件中查找字符串,删除整行

来自分类Dev

批处理-在文本文件中查找字符串并删除整行

来自分类Dev

在txt文件Java中查找字符串(或行)

来自分类Dev

Fortran在txt文件中查找字符串

来自分类Dev

在多个.txt文件中查找字符串

来自分类Dev

在 .txt 文件中查找字符串索引

来自分类Dev

在文件中查找字符串

来自分类Dev

在文件中查找字符串

来自分类Dev

Python读取文件,查找字符串并删除字符

来自分类Dev

用正则表达式查找字符串并删除整行

来自分类Dev

用正则表达式查找字符串并删除整行

来自分类Dev

在文件中查找字符串并在bash中删除其旁边的所有文本

来自分类Dev

批处理/ perl / python在多个文件中查找字符串,然后删除行

来自分类Dev

Java从文件搜索中删除重复项以查找字符串数组[0]

来自分类Dev

在文件中查找字符串,然后删除两行

来自分类Dev

查找并删除txt文件中的整行

来自分类Dev

在PDF文件中搜索以查找字符串

来自分类Dev

使用C在HTML文件中查找字符串

来自分类Dev

在HTML文件中查找字符串?

来自分类Dev

Golang:在文件中查找字符串并显示行号

来自分类Dev

脚本外壳在文件中查找字符串

来自分类Dev

Shell脚本在日志文件中查找字符串

来自分类Dev

在HTML文件中查找字符串?

来自分类Dev

从文件中查找字符串后的整数值

来自分类Dev

Excel公式-在字符串中查找字符,删除字符串末尾的字符

来自分类Dev

从txt文件中删除字符串

来自分类Dev

从字符串中拆分并删除整行

来自分类Dev

在PHP中查找字符串

来自分类Dev

查找字符串中的日期