通过查找每行开头的第一个单词来读取txt文件的每一行,然后删除文件行

时间:2018-09-17 13:21:17

标签: javascript node.js fs

想象一个这样的txt文件:

Toto1 The line
Toto2 The line
Toto3 The line
...

我想获取“ Toto2”(或其他类似Toto120)的整个行,如果该行存在,则必须将其从txt文件中删除

以下之后,txt文件将采用这种格式:

Toto1 The line
Toto3 The line
....

你有个主意吗?

最好使用NodeJ的“ fs”系统;它用于服务器端。

谢谢

1 个答案:

答案 0 :(得分:0)

使用fs绝对是正确的方法,同时使用RegExp查找要替换的字符串。这是我对您答案的解决方案:

var fs = require('fs');

function main() {
  /// TODO: Replace filename with your filename.
  var filename = 'file.txt';

  /// TODO: Replace RegExp with your regular expression.
  var regex = new RegExp('Toto2.*\n', 'g');

  /// Read the file, and turn it into a string
  var buffer = fs.readFileSync(filename);
  var text = buffer.toString();

  /// Replace all instances of the `regex`
  text = text.replace(regex, '');

  /// Write the file with the new `text`
  fs.writeFileSync(filename, text);
}
/// Run the function
main();

此外,如果您需要更多有关使用fs的资源,请查看以下链接:https://nodejs.org/api/fs.html

有关RegExp的更多信息,有很多网站可以向您显示每个表达式的功能,例如:https://regex101.com/

希望这会有所帮助!