如果一个字符串包含.ini文件数据,我如何用
JavaScript解析?
有没有任何JavaScript解析器在这方面有所帮助?
有没有任何JavaScript解析器在这方面有所帮助?
这里,通常字符串包含读取配置文件后的内容. (阅读不能通过JavaScript,但不知何故我收集.ini信息在一个字符串.)
解决方法
我写了一个由
node-iniparser.js启发的JavaScript函数
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更新:修复密钥的bug包含空格.