JSFiddle - React, Tailwind, and code Playground
by Ranganadh Paramkusam
JavaScript
var str = '1,"name1 "", name2",values(1,2,3,4), 1, "dfjgjs "", sdf",values(1,2,3,4,5,6), 4, "dsg "", sdf", values(1,2,3,4,56,6)';
function getCSVArray(csv){
var quoted_val = csv.match(/".*?"",.*?"/g)
var quotes_hid = csv.replace(/".*?"",.*?"/g,'QUOTED_STRING')
var saved_values = quotes_hid.match(/\(.*?\)/g)
var desired_string = quotes_hid.replace(/\(.*?\)/g,'CSV_VALUES')
var new_arr = [];
var desired_array = desired_string.split(',');
desired_array.forEach(function(elem,index){
if(elem.match('QUOTED_STRING')){
elem = elem.replace('QUOTED_STRING',quoted_val[0]);
quoted_val = quoted_val.slice(1);
} else if(elem.match('CSV_VALUES')){
elem = elem.replace('CSV_VALUES',saved_values[0]);
saved_values = saved_values.slice(1);
}
new_arr.push(elem)
});
return new_arr;
}
document.write(getCSVArray(str).join('<br />'));