【发布时间】:2018-12-04 14:24:58
【问题描述】:
如何从文本文件中删除字符串?
fs.readFile('./banlist.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(ip))
return i;
}()
delete data_array[lastIndex];
});
但是控制台给我消息:data_array 没有定义。 我想删除 ip 地址行。
【问题讨论】:
-
你在哪里定义
data_array?我在这段代码 sn-p 中没有看到它。 -
文本文件中的所有内容都是字符串。而且
fs.readFile不会将数据填充为数组,其次字符串是不可变的。 delete 关键字仅适用于对象的成员。data_array没有在任何地方定义。检查函数中的参数是否正确 -
你可能需要在没有那个字符串的情况下重写整个东西。
-
读取文件,修改数据,然后重写文件? (如果它是一个合理的大小......)
-
如果不是太大:
var newData = data.toString().split('\n').filter(val=>val!==ip).join('\n')然后将newData(string)写回文件。
标签: javascript node.js