Заменить строку в текстовом файле с помощью JavaScript - PullRequest
0 голосов
/ 23 ноября 2018

Я пытаюсь просто заменить строку в текстовом файле с помощью JavaScript.

Идея такова:

var oldLine = 'This is the old line';
var newLine = 'This new line replaces the old line';

Теперь я хочу указать файл, найдите oldLineи замените его на newLine и сохраните.

Кто-нибудь, кто может помочь мне здесь?

Ответы [ 2 ]

0 голосов
/ 14 мая 2019

Просто опираясь на ответ Шьяма Таяла, если вы хотите заменить всю строку, совпадающую с вашей строкой, а не просто точно совпадающую строку, сделайте это вместо:

fs.readFile(someFile', 'utf8', function(err, data) {
  let searchString = 'to replace';
  let re = new RegExp('^.*' + searchString + '.*$', 'gm');
  let formatted = data.replace(re, 'a completely different line!');

  fs.writeFile(someFile, formatted, 'utf8', function(err) {
    if (err) return console.log(err);
  });
});

Флаг 'm' будет обрабатывать^ и $ метасимволы как начало и конец каждой строки, а не начало или конец всей строки.

Таким образом, приведенный выше код преобразует этот текстовый файл:

one line
a line to replace by something
third line

вэто:

one line
a completely different line!
third line
0 голосов
/ 23 ноября 2018

Это должно сделать это

var fs = require('fs')
fs.readFile(someFile, 'utf8', function (err,data) {

  var formatted = data.replace(/This is the old line/g, 'This new line replaces the old line');

 fs.writeFile(someFile, formatted, 'utf8', function (err) {
    if (err) return console.log(err);
 });
});
...