天天看点

Cocos Creator读取配表/解析Csv文件

Cocos Creator读取配表/解析Csv文件

网上解析csv文档较少,CCC可以先使用 cc.loader.loadRes读取csv文件。然后读到系统中是一串字符串。

再调用下方代码通过正则解析成数组。再存到程序数组中即可使用。

//CSV转Array

CSVToArray( strData, strDelimiter ) {
    strDelimiter = (strDelimiter || ",");
    var objPattern = new RegExp(
        (
            "(\\" + strDelimiter + "|\\r?\\n|\\r|^)" +
            "(?:\"([^\"]*(?:\"\"[^\"]*)*)\"|" +
            "([^\"\\" + strDelimiter + "\\r\\n]*))"
            ),
        "gi"
    );
    var arrData = [[]];
    var arrMatches = null;
    while (arrMatches = objPattern.exec( strData )){
        var strMatchedDelimiter = arrMatches[ 1 ];
        if (
            strMatchedDelimiter.length &&
            (strMatchedDelimiter != strDelimiter)
            ){
            arrData.push( [] );
        }
        if (arrMatches[ 2 ]){
            var strMatchedValue = arrMatches[ 2 ].replace(
                new RegExp( "\"\"", "g" ),
                "\""
            );
        } else {
            var strMatchedValue = arrMatches[ 3 ];
        }
        arrData[ arrData.length - 1 ].push( strMatchedValue );
    }
    if(arrData.length>0){
        arrData.pop();
    }
    return arrData;
},