我有一个看起来像这样的文本文件:
./4F6cFLnAAFc.png ./4Flj9plmKGQ.png ./4fQeHtSdw80.png ./4I9iibPLdBw.png ./4J-dRA3MGc8.png ./4mdEsouIXGM.png ./4-_-wQc3EGE.png ./595Tiga1gIg.png ./60u_ctp6UIw.png ./64bH_27Ehoc.png ./64_ZfIemRGM.png ./66pQLO--Ghk.png ./69rDtSpshAw.png ./69-YUSazuic.png
我想.使用node.js将每行的开头替换为“ myString”。因此,每个最终看起来像:myString/4F6cFLnAAFc.png
.
myString/4F6cFLnAAFc.png
我正在尝试使用正则表达式,但是我怀疑可以使用读取和写入流来完成。
var fs = require('fs'); fs.readFile('filelist.txt', 'utf-8', function(err, data){ if (err) throw err; console.log(typeof(data)); // string data.replace(/\.\/+/, 'myString'); });
哪种正则表达式将起作用,或者使用node编辑此文件的最佳方法是什么?
根据您的需要,这是“同步”或“异步”的两个选项。
var fs = require('fs'); function readWriteAsync() { fs.readFile('filelist.txt', 'utf-8', function(err, data){ if (err) throw err; var newValue = data.replace(/^\./gim, 'myString'); fs.writeFile('filelistAsync.txt', newValue, 'utf-8', function (err) { if (err) throw err; console.log('filelistAsync complete'); }); }); } function readWriteSync() { var data = fs.readFileSync('filelist.txt', 'utf-8'); var newValue = data.replace(/^\./gim, 'myString'); fs.writeFileSync('filelistSync.txt', newValue, 'utf-8'); console.log('readFileSync complete'); } readWriteAsync(); readWriteSync();