我有树文件en.txt,es.txt和html.txt。我想将第一个文件中的行用作模式,将第二个文件中的行用作替换。必须替换的文本在第三个文件(en.text的HTML版本)中。
en.txt和es.txt中的行如下所示:
Line 1
Line 2
Line 3
esStrings
和esStrings
是en.text
并es.txt
拆分为数组(在新行上拆分)。
(html.txt相同,但文本周围带有p标签)
这是代码:
fs.readFile('html.txt', 'utf8', function (err, data) {
var result = []
if (err) {
return console.log(err)
}
for (i = 0; i < enStrings.length; i++) {
console.log(enStrings[i])
var re = new RegExp(enStrings[i], "g")
for (i = 0; i < esStrings.length; i++) {
result = result.push(data.replace(re, esStrings[i]))
}
}
console.log(result)
})
如果我这样做,console.log(enStrings[i])
我的终端机将无限期地返回2号线。如果我执行console.log(result),脚本将永远运行。我究竟做错了什么?
for
使用相同的迭代器变量,您的嵌套循环中就有一个bug i
。
另外,请勿分配result = result.push(...
。只需执行result.push(
。它已添加到阵列中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句