Node.js 使用fs读取txt文件按|分割为指定索引数组的实现咨询
代码修正实现方案
你现有代码里拆分每行内容用的是空格作为分隔符,和你实际内容的|分隔符不匹配,直接替换拆分符即可实现你要的索引对应效果。
完整可运行代码
// 未引入fs模块请先加这句 const fs = require('fs'); // Windows路径下反斜杠需要转义,所以写为LoginID\\Creds.txt const fileRefer = fs.readFileSync('LoginID\\Creds.txt').toString().split("\n"); // 存储所有行拆分结果的全局数组(不需要可以删掉) const allDataArr = []; for (const line of fileRefer) { // 跳过空行 if (!line.trim()) continue; // 按|拆分当前行,直接得到对应索引的内容 const itemArr = line.split("|"); // 此时索引对应关系完全符合你的要求: // itemArr[0] → 日期部分:Date: 2021-11-08 17:01:33 // itemArr[1] → LoginID部分:LoginID: pvgA1248 // itemArr[2] → Password部分:Password: Root@123 // 若需要提取纯值无前缀,可以二次拆分 const pureDate = itemArr[0].split(': ')[1]; const username = itemArr[1].split(': ')[1]; const password = itemArr[2].split(': ')[1]; // 把当前行的结果推入全局数组统一管理 allDataArr.push(itemArr); }
效果说明
- 每行内容按
|拆分后得到的数组天然符合索引对应规则,不需要额外做占位解构 - 拆分后的数组每个索引对应内容可以直接读取使用,也可以做二次处理提取纯业务值
内容的提问来源于stack exchange,提问作者MaNav MaLhoTra
相关产品推荐
相关产品推荐

