GoodSea88
GoodSea88

Reputation: 185

How to replace string with \r\n on node.js?

I want replace string to empty. What is wrong this code?

var fs = require('fs')
fs.readFile('requestSongs.txt', 'utf8', function (err,data) {
  if (err) {
    return console.log(err);
  }
  var result = data.replace(new RegExp('\\r\\n' + songCurrent[1],'g'),"");    
  fs.writeFile('requestSongs.txt', result, 'utf8', function (err) {
     if (err) return console.log(err);
  });
});

Upvotes: 1

Views: 995

Answers (1)

hong4rc
hong4rc

Reputation: 4113

  • You should sure you use windows line break CRLF (\r\n)
  • Test songCurrent[1] with console.log(songCurrent[1]) to know you file match songCurrent[1]

I have requestSongs.txt (CRLF)

line1
line2
line3
line4
line5
line6
line7

index.js:

var fs = require('fs')

songCurrent = [0, 'line3']

fs.readFile('requestSongs.txt', 'utf8', function (err,data) {
  if (err) {
    return console.log(err);
  }
  var result = data.replace(new RegExp('\\r\\n' + songCurrent[1],'g'),"");    
  fs.writeFile('requestSongs.txt', result, 'utf8', function (err) {
     if (err) return console.log(err);
  });
})

I run node index.js, this is requestSongs.txt, don't have any problem:

line1
line2
line4
line5
line6
line7

Upvotes: 1

Related Questions