0

我有两个文件夹,输入和输出文件夹,其中包含以下格式的许多文本文件。如何从输入文件夹中读取所有文件,运行正则表达式并将所有更新的文件写入另一个输出文件夹?我正在使用 nodejs。

Input: $.Carpool[0].NoofSeats], [$.Carpool[1].NoofSeats]

So after replace with regex the updated text file should be:

Regex: str = str.replace(/\.[A-Z]/g, (m0) => m0.toLowerCase());

Output: [$.carpool[0].noOfSeats], [$.carpool[1].noOfSeats]

到目前为止,我已经从目录中读取文件:

const fs= require("fs");

let directory = "Input" // Desktop/Input
let files = fs.readdirSync(directory)
console.log(files);
4

1 回答 1

0

您想遍历文件,假设内容是 UTF-8 格式的文本文件,这里是一个示例。

您用于fs.readFile在列出目录后读取特定文件。然后使用fs.writeFile写入一个新文件的内容。

/directory/${f}用于新的文件目录路径和${f}打开的文件名。

const fs = require("fs");
// Directory
let directory = "/";
// Files
let files = fs.readdirSync(directory);
// Loop through the files
files.forEach(f => {
    // Read the contents in UTF-8 format
    fs.readFile(f, 'utf8', function(err, contents) {
        if (err) { console.log(err); }
        // Output Contents
        console.log(contents);
        // Perform regex here
        contents = contents.replace(/\.[A-Z]/g, (m0) => m0.toLowerCase());
        // Write new file to path /new, with contents
        fs.writeFile(`/directory/${f}`, contents, function(err) {
            if (err) {
                // Error writing
                return console.log(err);
            }
            console.log("The file was saved!");
        });
    });
});
于 2019-06-16T03:39:58.647 回答