Question

I need to parse a text file after retrieving it from an Ajax call. I have the file but have no idea how to parse it.

Basically I want to parse the image files from the text file and push it into an array so that I can use these images for further processing.

Here is the text file

0310|14A0697JY|COMPACTOR|READY TO WORK|RAYGO RASCAL|420C|DETROIT DIESEL (GMC)|80%|READY      TO WORK|yQ8kE7BUEHY|SOLD|Raygo_Rascal.JPG|Raygo_Rascal..JPG|EXCELLENT COMPACTOR, ENCLOSED CAB, AND <br>PUSH BLADE EQUIPED, 84 INCH SMOOTH VIB. <br>DRUM. READY TO WORK!!!|NO|Compactor|ALL
0315|50G1042|RIPPER|USED|CATERPILLAR|FOR D9'S|SINGLE|SHRANK||NyopEXWbApQ|16,000|RIPPER.jpg|RIPPER....jpg|1 SHRANK CATERPILLAR RIPPER TO FIT CAT D9'S <br>DOZER, LIKE NEW CONDITION.|NO|Parts|ALL
0317|2LC677|FORK-LIFT|EXCELLENT COND.|CATERPILLAR|T50D|LP POWERED|SOLID||LTwA1Bw7c_4|11,000|cat_fork_lift..JPG|cat_forklift.JPG|EXCELLENT CAT FORK-LIFT LP(GAS) POWERED, 5,000 Lbs. READY TO WORK|NO|Miscelaneous|ALL
0335|RIPPER FOR CAT D8H-K.|RIPPER|USED|CRC-ATECO|CAT D8H-K|SINGLE|SHRANK||NyopEXWbApQ|9,000|ripper_d8_1.JPG|ripper_d8_2.JPG|SINGLE SHRANK RIPPER TO FIT CAT D8H OR K, <br>READY TO BE INSTALLED.|NO|Parts|ALL
0349|OVER|HYDRAULIC|TURN|TRACK|PRESS|YOUR|PINS & BUSHINGS||QHzQJ1EablM|AND RE-USED'EM|6a7c019bd33a9492b747fb05e9064563.jpg|402f99590af07da0b7c707f355ebc442.jpg|HYD. TRACK PRESS, TO TURN THOSE PINS & <br>BUSHINGS OF YOUR EXCAVATOR OR BULL-<br>DOZER, ANY BRAND, ANY SIZE.  LET US HELP, <br>GETTING YOU BACK IN TRACK, AT LOW COST!!|YES|Excavator|ALL
0361|NEGOCIO|BALNEARIO|MORELOS|WATER-PARK|CUERNAVACA|MEXICO|SUPER||C_u7vup5p4Q|CALL ME!!|logo.png|logo.png|EXCELLENTE LUGAR PARA INVERTIR, <br>NEGOCIO <br>LOS 365 DIAS DEL ANO. MUCHAS ALBERCAS, <br>TOBOGANES, ATRACCIONES Y DIVERCIONES. <br>PARA MAS INFORMACION, POR FAVOR VISITE:  <br>www.parqueacuaticoojodeagua.com  SE <br>VENDE <br>Y/O PERMUTA. POR NO PODER ATENDER. <br>"BARATO"    GREAT PLACE TO INVEST, <br>INCOMING PROFIT, ALL YEAR AROUND. NEED <br>TO GO, CAN NOT MANAGE IT FROM U.S. |YES|Miscelaneous|ALL
0366|433B-481.|WHEEL-LOADER|EXCELLENT LOADER|MICHIGAN -CLARK|55B|CUMMINGS|80%|READY TO WORK|7glgUUCjtBI|18,000|2012-07-19_16-01-11_445.jpg|2012-07-19_16-02-13_560.jpg|MICHIGAN CLARK 55B. WHEEL LOADER. IN <br>EXCELLENT WORKING CONDITION. "NO" LEAKS <br>OF ANYKIND, ENCLOSED CAB, 80% TIRES ALL <br>AROUND, VERY POWERFULL AND READY TO <br>WORK!!!!|YES|Loader|ALL
0373|LOCATION: MEXICO, CITY.|GEN-SET|100 KiloWatts.|STAMFORD AC GENERATORS|NEWAGE LTD.||||NyopEXWbApQ|5,500|IMG_0122.JPG|IMG_0122.JPG|100 KILOWATTS, GENERATOR SET, ENCLOSED <br>AND SILENT GEN-SET. LOCATION: MEXICO, <br>CITY. READY TO WORK. E-MAIL FOR PICS!!!|NO|Miscelaneous|ALL
0377|GRUAS POR||AT THIS|NO|CRANES|TIME|NO||NyopEXWbApQ|EL MOMENTO|IMG_0122.JPG|IMG_0122.JPG|SORRY NO CRANES AT THIS MOMENT & LO <br>SENTIMOS NO TENEMOS GRUAS POR EL <br>MOMENTO!!|NO|Crane|ALL
0379|M100-1060|MOTOR-GRADER|1964|ALLIS-CHALMERS|ACM-100|127HP-AC-10000|60%|N/A|DG5gKp4iQ1Q|6,500.|2013-02-01_14-48-07_985.jpg|2013-02-01_14-50-32_338.jpg|OLDIE BUT GOODIE MOTOR-GRADER. ENCLOSED <br>CAB, DIRECT DRIVE. STILL A LOT A POWER TO <br>GIVE!!!|NO|MotoGrader|ALL
0383|N/A|ARMY TRUCK|N/A|N/A|N/A|INTERNATIONAL (GAS)|95%|N/A|NyopEXWbApQ|10,000.|KIMG0038.JPG|KIMG0040.JPG|ARMY TRUCK, IN GREAT STATE, READY TO <br>CLIMB HILLS, 4 WHEEL DRIVE, WINCH, NO RUST <br>AT ALL, MICHELIN TIRES, GASOLINE <br>INTERNATIONAL ENGINE.|NO|Trucks|ALL
0385|1FXBS1625J18800380|TRAILER|1988|CHAPARRAL|BUMPER PULL|EXCELLENT|90%|READY TO HAUL|NyopEXWbApQ|3,900.|KIMG0024.JPG|KIMG0026.JPG|1988 "CHAPARRAL" LIVE-STOCK, BUMPER PULL <br>TRAILER, IN GREAT SHAPE, NO RUST, BRAKES <br>AND LIGHTS WORKING, READY TO HIT THE <br>ROAD!!!!|NO|Miscelaneous|ALL
0386||DIESEL -MOTOR|2003|NISSAN|SD-22|4 CYL.|DIESEL|LOW|NyopEXWbApQ|1,500|KIMG0020.JPG|IMG_0099.JPG|2003 NISSAN 4 CYL. DIESEL ENGINE. IN GREAT <br>SHAPE, AND READY TO BE INSTALLED. WORKING <br>100%.|NO|Engines|ALL
0394||BULL-DOZER|2007|CATERPILLAR|D6N XL|CAT|75% U/C.|8,200 HRS.|2E5DYwgtJnY|SOLD|2007CATD6NXL2.jpg|2007CATD6NXL4.jpg|2007 CATERPILLAR D6N BULL-DOZER. <br>AWESOME LOOKING DOZER, YOU WONT FIND A <br>DOZER LIKE THIS UNDER 100 GRAND. 6 WAY <br>BLADE, CAB W/COLD A/C, 3 SHANK CAT RIPPER, <br>WILL BE HERE SOON.|NO|BullDozer|ALL
0395|FWV409702|DUMP-VOLTEO |1979|FRUEHAUF|28 Ft. T/A ALUMINUM|HYD.|60%|2 AXLE|NyopEXWbApQ|9,500.|KIMG0092.JPG|KIMG0096.JPG|1979 FRUEHAUF 28 FT. T/A ALUMINUM <br>QUARTER FRAME, END DUMP TRAILER. SPRING <br>SUSPENSION, 100% ALUMINUM BOX, CLEAN <br>TITLE IN HAND. WORKING <br>FINE WITH NO HYD. LEAKS AND READY TO HIT <br>THE ROAD!!!!!!|NO|Miscelaneous|ALL
0396|1V5BB182411133971|GOOSE-NECK TRAILER|2001|MAGNUM|18 Ft. X 6 Ft.|SPRING SUSP.|75%||NyopEXWbApQ|4,900.|64a78134-b508-49fe-b56f-7151a3ece00d.jpg|e45435a9-841d-4fb8-b45a-e43e74fd254f.jpg|2001 MAGNUM 18 Ft. X 6 Ft. 10 In. T/A <br>GOOSENECK EQUIPMENT TRAILER, WITH RAMPS, <br>SPRING SUSPENSION, CLEAN TEXAS TITLE IN <br>HAND AND READY TO WORK.|NO|Miscelaneous|ALL
0397|4P5GF2820Y1035499|GOOSENECK TRAILER|2000|PJ|3 AXLE|FLAT BED|90%||NyopEXWbApQ|5,900|2013-03-18_12-42-56_716.jpg|2013-03-18_12-43-32_232.jpg|2000 YEAR MODEL, PJ BRAND, 28 Ft. X 8 Ft . 5 <br>In. FLAT BED, 3 AXLE, ELECTRIC BRAKES, WITH <br>RAMPS, SPRING SUSPENSION, CLEAN TEXAS <br>TITLE IN HAND.|NO|Miscelaneous|ALL
0399|0004T22507|BACK-HOE|2007|ALLMAND BROS|TLB-225|KUBOTA|70%||GukWO40hkh8|9,900.|KIMG0115.JPG|KIMG0114.JPG|2007 ALLMAND BROS BACK-HOE. WITH A 3 CYL. <br>KUBOTA ENGINE, READY TO WORK, NO LEAKS <br>OF ANY KIND, IN GREAT WORKING CONDITION. |YES|Backhoe|ALL
0400|26594-003|BROOM|2000|LAY-MOR|6HB|KUBOTA 4 CYL.|70%|1,199|b_oF-lxMfsA|7,500|photo_1.JPG|photo_2.JPG|LAY-MOR "BROOM" MODEL: 6HB. YEAR: 2000. 6' <br>BROOM, KUBOTA 4 CYL. DIESEL ENGINE, IN <br>GREAT SHAPE AND READY TO WORK.  |NO|Miscelaneous|ALL
0402|TODAS|RECONSTRUCCION|EXCAVADORAS|DE CADENAS|BULL-DOZER|CUALQUIER|TAMANO||2E5DYwgtJnY|LAS MARCAS|images-8.jpeg|images-12.jpeg|SOMOS LOS UNICOS EN EL VALLE EN OFRECERTE <br>LA PRENSA HIDRAULICA PARA VOLTEAR LOS <br>PERNOS Y LOS BUJES DE TU CADENA USADA, Y <br>ASI PUEDAS USAR EL OTRO 50% DE TUS <br>CADENAS, SIN TENER QUE COMPRAR CADENAS <br>NUEVAS. POR FAVOR LLAMANOS, SOMOS TU <br>MEJOR OPCION PARA AHORRAR MILES DE <br>DOLARES EN CADENAS NUEVAS.|YES|BullDozer|ALL
0403|41X02797|FORK-LIFT||CATERPILLAR|V80D|4 CYL. DIESEL|NEW|820|o62D5K1frOg|12,900|photo_1.JPG|photo_2.JPG|7,550 lbs. Max. Weight Capacity, 2 Stage Mast, <br>163" Max Lift Height, 108" Lowered Height, 71 <br>1/4" Forks, Side Shift,     Fork Positioner, 4 <br>Cylinder Engine, Diesel, Enclosed Cab. READY <br>TO WORK!!!!!|YES|Miscelaneous|ALL
0404|1S9M114141L358796|LED SIGNAL BOARD|2001|NATIONAL SIGNAL|VU POINTE|ELECTRIC & SOLAR|80%||NyopEXWbApQ|4,900|photo_4.JPG|photo_3.JPG|2001 NATIONAL SIGNAL, ELECTRIC OPERATED & <br>SOLAR OPERATED, SINGLE AXLE TRAILER, LED <br>BOARD SIGNAL, WITH HYD RAISE            BOARD.|YES|Miscelaneous|ALL

Any help is appreciable

Was it helpful?

Solution 3

Well this is what exactly worked for me

 var jpgRegex = /\S*(\.jpg|\.gif|\.jpeg|\.png)/i;

            var results = [];
            var imageName = "";
            var arrayCounter = 0;

            parts = data.split("|");

            for (var i = 0; i < parts.length; i++) {
                imageName = parts[i].match(jpgRegex);

                    if (imageName !== null) {
                    results[arrayCounter] = imageName[0];
                    arrayCounter++;

                }
            }

Now have the images in the results array. Thanx for your help guys .

OTHER TIPS

If you're not asking about ajax - I assume you already got the file contents in some variable... lets say it is named "csvData":

var rows = csvData.split('\n');         // rows now keeps an array of rows
var rowsData = {};                      // This will be your object where you will keep all data for further processing

for(var i=0; i < rows.length; i++) {

  var cols = rows[i].split('|');      // Here you have array of cols for every row

  if (cols.length > 0) {
    rowsData[ cols[0] ] = cols;           // keep for further processing
  }

}

// now your images are easily accessible with:  imgFileName1 = rowsData["row id"][11];
// and: imgFileName2 = rowsData["row id"][12];   (these two columns contains image filenames so i wrote [11] and [12] but you can access other data also if needed)

example: when you need the name of the 1st image from third row you will find it under rowsData["0317"][11]


here is the working code example: http://jsfiddle.net/GbcmL/1/

You can try this, it will parse the file into an array based on the "|" then loop through all the items, if the item is a .jpg then it will add it to a new array.

var jpg = [];
for (var i = 0, len = fileStr.length;i < len;i++) {
    if (fileStr[i].indexOf(".jpg") != -1) {
        jpg.push(fileStr[i]);
    }
}
alert(jpg);

fiddle example here

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top