提问者:小点点

替换为JS中的Regex


我有一个由多个下划线组成的文件。 我需要将它们全部转换为单下划线。

如何在Node中做到这一点?

我当前的解决方案:

var fs = require("fs");
filename = "questions.txt";
ofilename = "o.txt";
fs.readFile(filename, "utf8", function (err, data) {
  if (err) {
    return console.log(err);
  }
  var result = data.replace(/_+/g, "_");

  fs.writeFile(ofilename, result, "utf8", function (err) {
    if (err) return console.log(err);
  });
});

这给了我一个文件,其中所有内容都是二进制的。


共1个答案

匿名用户

您的代码运行良好。

var fs = require("fs");
filename = "./questions.txt";
ofilename = "o.txt";
fs.readFile(filename, "utf8", function (err, data) {
  if (err) {
    return console.log(err);
  }
  console.log(data);
  var result = data.replace(/_+/g, "_");

  fs.writeFile(ofilename, result, "utf8", function (err) {
    if (err) return console.log(err);
  });
});
  • 产生:
toto

_
_
rr
  • 发件人:
toto

__
__
rr

请确保您的输入文件是正确的utf8编码。