Javascript:如何从文本文件的特定部分加载数据?

标签 javascript node.js

假设我有一个名为 test.txt 的文本文件,其中包含以下内容:

Apples.Purchased: 100
Oranges.Purchased: 202
Bananas.Purchased: 140

如何在文本文件中搜索“Oranges.Purchased”,获取其背后的数值并将其应用于 javascript 变量?

郑重声明,我使用 fs.write 来保存数据:

var fs = require('fs');
fs.writeFile("test.txt", outputdata, function(err) {
        if(err) {
        console.log(err);
        } else {
            console.log("The file was saved!");
        }
}); 

最佳答案

您可以以文本形式读取文件,然后使用正则表达式查找您的文本:

fs.readFile("test.txt", function(err, data){
  var regex = /^Oranges.Purchased: ([0-9]+)/;
  var result = regex.exec(data);
  console.log(result[1]);
});

虽然你会想要防弹(检查错误,不要只是假设你找到了文本等)。

但我一般不推荐这种方法。为什么不把文件写成 JSON:

{
  "Apples": {
    "Purchased": 100
  },
  "Oranges": {
    "Purchased": 140
  }
  "Bananas": {
    "Purchased": 202
  }
}

无需任何字符串整理即可生成和解析;你可以只序列化你的对象。

关于Javascript:如何从文本文件的特定部分加载数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14043193/

相关文章:

javascript - 我们可以使用母语开发Tizen TV应用程序吗?

javascript - Node.js/JavaScript - Java 的 Jackson 等价物

javascript - 将 React 组件与另一个组件包装在同一文件中

Javascript (Node.js) 将 json 解构为现有变量

node.js - bootstrap-datetimepicker 无法选择日期

Javascript如何过滤匹配关键字的数组

javascript - 自定义过滤器,用于从 AngularJS 1.x 中的一个选择框中删除另一个选择框中的选定选项

javascript - 手动调用 Datatables FooterCallback 函数

javascript - 仅使用 HTML 和 CSS 创建下拉按钮?

node.js - Mongoose Pre Command 未按预期工作