gpt4 book ai didi

javascript - 使用 JS/NodeJS 测试并读取文件中的变量

转载 作者:行者123 更新时间:2023-11-28 19:17:44 25 4
gpt4 key购买 nike

我正在创建一个能够读取环境文件的脚本。内容可以如下:

var1 = 'test'
var2='test2'
var1= 'test'
var3 = 4

我想提取键和值,例如:

var1 = 'test' -> result[0]: var1, result[1]: test

我如何编写一个函数来测试使用readFile读取的行是否有效,然后测试其key(例如var1)和value(例如测试)?是否可以使用正则表达式提取键和值而不运行两个正则表达式函数?

最佳答案

存储行后,您可以执行以下操作:

// line is the line you are processing, object is where you save your stuff
function processLine(line, object) {
var parts = line.split("=");

if (parts.length<2)
return;

// key is parts[0], value is parts[1]
var key = parts.shift();
// if we have equal signs in our value, they will be preserved
var value = parts.join("=");

// get rid of any trailing or preceding spaces
key = key.trim();
value = value.trim();

// is the value a quoted string?
if ((value.charAt(0)==="'" && value.charAt(value.length-1)==="'") ||
(value.charAt(0)==='"' && value.charAt(value.length-1)==='"'))
value = value.slice(1, value.length-1);
// otherwise we assume it's a number
else
value = parseFloat(value);
// TODO: you can check for other stuff here, such as 'true', 'false' and 'null'

// finally, assign it to your object
object[key] = value;
}

现在您只需为每一行调用函数,例如:

var values = {};
for (var i in lines)
processLine(lines[i], values);

这种方法的注意事项有很多。它们可以通过一些额外的代码轻松修复,但我建议使用 JSON 之类的东西来定义您的配置值(如果它们是什么)。 javascript 本身就支持 JSON 解析,因此您可以直接使用它。也许您应该重新考虑您的方法。

关于javascript - 使用 JS/NodeJS 测试并读取文件中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29492974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com