分隔数组中具有特定单词的元素



但它只在一个文件上写入,另一个文件为空

const fs = require("fs")
fs.readFile('storage/shared/file.txt', 'utf8', function(err, data) {
let data1 = []
let data2 = []
for(let i = 0; i < data.length; i++) {
if(data[i].includes("{ND}")) {
data1.push(data[i]) }
else {
data2.push(data[i]) }}
data1 = data1.join("").toString()
data2 = data2.join("").toString()
fs.writeFile('storage/shared/nodata.txt', data1, function(err, data) { if(err) console.log(err) })
fs.writeFile('storage/shared/data.txt', data2, function(err, data) { if(err) console.log(err) }) })

由于根据您的逻辑,您希望仅在包含"{ND}"时才将数据写入nodata.txt,因此您不需要遍历它,因为readFile将返回一个字符串,因此您只需检查该字符串是否包含"{ND}"然后通过提供正确的路径写入nodata.txt或data.txt。

const fs = require("fs")
fs.readFile('storage/shared/file.txt', 'utf8', function(err, data) {
const filePath = data.includes("{ND}") ? 'storage/shared/nodata.txt' : 'storage/shared/data.txt';

fs.writeFile(filePath, data, function(err, data) { 
if(err) console.log(err) 
});
});

希望对你有帮助。

最新更新