javascript - 用 JS 中的正则表达式替换
问题描述
我有一个文件,其中包含有多个下划线的地方。我需要将它们全部转换为单个下划线。
我怎样才能在节点中做到这一点?
我目前的解决方案:
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);
});
});
这给了我一个文件,其中所有内容都是二进制文件。
解决方案
您的代码运行良好。
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 编码。
推荐阅读
- mysql - varchar(100) 类型的 INSERT INTO 命令不起作用?
- python - 由 Python 中的 Itertools 生成的奇怪的空列表
- ruby-on-rails - 包括中断别名,但不包括连接
- excel - 如何从工作表顶部的行偏移量开始
- android - 从gms地点迁移到地点时出现重复类问题-apcompat
- python - 查找与允许重叠的模式匹配的子字符串
- android - 当应用程序在后台或屏幕关闭时如何振动?科尔多瓦 9 安卓
- javascript - 我的异步函数没有等待 Firebase 的承诺
- vb.net - 从“JObject”类型到“String”类型的转换无效
- quire-api - 在 Quire 中将任务标记为未读