筆記

          way

          js分割csv文件

          轉自http://www.bennadel.com/blog/1504-Ask-Ben-Parsing-CSV-Strings-With-Javascript-Exec-Regular-Expression-Command.htm,把csv文件按分隔符切割后放在數組中。
          // This will parse a delimited string into an array of arrays. 
             // The default delimiter is the comma, but this

          // can be overriden in the second argument.
              CSVToArray:function(strData, strDelimiter){
           
                  
          // Check to see if the delimiter is defined. If not,
                  // then default to comma.
                  strDelimiter = (strDelimiter || ",");
                  
          // Create a regular expression to parse the CSV values.
                  var objPattern = new RegExp(
                      (
                          
          // Delimiters.
                          "(\\" + strDelimiter + "|\\r?\\n|\\r|^)" +
           
                          
          // Quoted fields.
                          "(?:\"([^\"]*(?:\"\"[^\"]*)*)\"|" +
           
                          
          // Standard fields.
                          "([^\"\\" + strDelimiter + "\\r\\n]*))"
                      ),
                      
          "gi"
                      );
           
           
                  // Create an array to hold our data. Give the array
                  // a default empty first row.
                  var arrData = [[]];
           
                  // Create an array to hold our individual pattern
                  // matching groups.
                  var arrMatches = null;
           
           
                  // Keep looping over the regular expression matches
                  // until we can no longer find a match.
                  while (arrMatches = objPattern.exec( strData )){
           
                      // Get the delimiter that was found.
                      var strMatchedDelimiter = arrMatches[ 1 ];
           
                      // Check to see if the given delimiter has a length
                      // (is not the start of string) and if it matches
                      // field delimiter. If id does not, then we know
                      // that this delimiter is a row delimiter.
                      if (
                          strMatchedDelimiter.length &&
                          (strMatchedDelimiter != strDelimiter)
                          ){
           
                          // Since we have reached a new row of data,
                          // add an empty row to our data array.
                          arrData.push( [] );
                      }
           
           
                      // Now that we have our delimiter out of the way,
                      // let's check to see which kind of value we
                      // captured (quoted or unquoted).
                      if (arrMatches[ 2 ]){
           
                          // We found a quoted value. When we capture
                          // this value, unescape any double quotes.
                          var strMatchedValue = arrMatches[ 2 ].replace(
                              new RegExp( 
          "\"\"""g" ),
                              
          "\""
                              );
           
                      }
           else {
           
                          
          // We found a non-quoted value.
                          var strMatchedValue = arrMatches[ 3 ];
                      }

           
           
                      
          // Now that we have our value string, let's add
                      // it to the data array.
                      arrData[ arrData.length - 1 ].push( strMatchedValue );
                  }
           
                  
          // Return the parsed data.
                  return( arrData );
              }

          posted on 2010-12-03 09:06 yuxh 閱讀(1157) 評論(0)  編輯  收藏 所屬分類: JS


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          <2010年12月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          統計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          收藏夾

          博客

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 全州县| 芦山县| 西充县| 安远县| 遂昌县| 许昌县| 湘阴县| 绵竹市| 河北省| 漳州市| 大英县| 江油市| 长沙市| 柳江县| 卓尼县| 浪卡子县| 奇台县| 沙雅县| 兰坪| 大埔县| 岳西县| 山阴县| 三亚市| 闽清县| 房产| 扶沟县| 奈曼旗| 保亭| 信宜市| 邯郸县| 田阳县| 阜新| 南靖县| 边坝县| 乳山市| 周口市| 华宁县| 新营市| 阿拉善右旗| 灵台县| 军事|