我想将字符串替换为空。 这段代码有什么问题?
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);
});
});
最佳答案
- 您应该确保使用 Windows 换行符
CRLF
(\r\n
) - 使用
console.log(songCurrent[1])
测试songCurrent[1]
以了解您的文件匹配songCurrent[1]
<
我有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);
});
})
我运行node index.js
,这是requestSongs.txt
,没问题:
line1
line2
line4
line5
line6
line7
关于javascript - 如何在 node.js 上用\r\n 替换字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52509389/