/*
Read a ini file
[Section1]
Param1=value1
[Section2]
Param2=value2
*/
var fs = require("fs");
function parseINIString(data){
var regex = {
section: /^\s*\[\s*([^\]]*)\s*\]\s*$/,
param: /^\s*([^=]+?)\s*=\s*(.*?)\s*$/,
comment: /^\s*;.*$/
};
var value = {};
var lines = data.split(/[\r\n]+/);
var section = null;
lines.forEach(function(line){
if(regex.comment.test(line)){
return;
}else if(regex.param.test(line)){
var match = line.match(regex.param);
if(section){
value[section][match[1]] = match[2];
}else{
value[match[1]] = match[2];
}
}else if(regex.section.test(line)){
var match = line.match(regex.section);
value[match[1]] = {};
section = match[1];
}else if(line.length == 0 && section){
section = null;
};
});
return value;
}
try {
var data = fs.readFileSync('C:\\data\\data.dat', 'utf8');
var javascript_ini = parseINIString(data);
console.log(javascript_ini['Section1']);
}
catch(e) {
console.log(e);
}
Created
September 12, 2017 08:04
-
-
Save anonymous/dad852cde5df545ed81f1bc334ea6f72 to your computer and use it in GitHub Desktop.
nodejs
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
nice example for parsing a ini file in javascript