包含.ini数据的字符串的javascript解析器 [英] javascript parser for a string which contains .ini data
本文介绍了包含.ini数据的字符串的javascript解析器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果字符串包含.ini文件数据,我如何在JavaScript中解析它?
是否有任何JavaScript解析器在这方面有所帮助?
If a string contains a .ini file data , How can I parse it in JavaScript ? Is there any JavaScript parser which will help in this regard?
这里,通常字符串包含读取配置文件后的内容。 (读取不能通过javascript完成,但不知怎的,我在字符串中收集.ini信息。)
here , typically string contains the content after reading a configuration file. (reading cannot be done through javascript , but somehow I gather .ini info in a string.)
推荐答案
我写了一个javascript函数由 node-iniparser.js 启发
I wrote a javascript function inspirated by node-iniparser.js
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;
}
2017-05-10已更新:修复密钥错误包含空格。
2017-05-10 updated: fix bug of keys contains spaces.
编辑:
这篇关于包含.ini数据的字符串的javascript解析器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文