tengo debajo de la cadena
"ITEM1","ITEM2","ITEM3","ITEM4","ITEM5","ITEM6","ITEM7"~100000000,1000048,0010041,1,1,1,1~100000001,1000050,,2,0,2,1~100000002,1068832,0010124,1,1,1,1~100000003,1143748,0010165,1,1,1,1~100000004,,0010173,1,2,1,1~100000005,,0010199,2,2,2,1~100000006,,0010215,1,2,1,1~100000007,,0010306,0,2,1,1~100000008,1092546,0010355,1,1,1,1~100000009,1037977,,2,1,2,1~ Necesito dividir por ~ y debería crear matrices separadas con comillas dobles "" . A continuación se espera
[ ["ITEM1","ITEM2","ITEM3","ITEM4","ITEM5","ITEM6","ITEM7"], ["100000000","1000048","0010041","1","1","1","1"], ["100000000","1000048","0010041","1","1","1","1"], ["100000000","1000048","0010041","1","1","1","1"], ]Esto es lo que he probado.
str.split('~').slice(2)Que no se divide en matrices separadas. Cómo lograr lo mismo. Gracias de antemano
Primero puede dividir con ~ y luego dividir cada subconjunto con , . El siguiente código también está eliminando las cadenas vacías "" . SI desea que se incluyan, simplemente elimine el .filter(i => i)
EDITAR: eliminó el filtro de cadenas vacías
const s = '"ITEM1","ITEM2","ITEM3","ITEM4","ITEM5","ITEM6","ITEM7"~100000000,1000048,0010041,1,1,1,1~100000001,1000050,,2,0,2,1~100000002,1068832,0010124,1,1,1,1~100000003,1143748,0010165,1,1,1,1~100000004,,0010173,1,2,1,1~100000005,,0010199,2,2,2,1~100000006,,0010215,1,2,1,1~100000007,,0010306,0,2,1,1~100000008,1092546,0010355,1,1,1,1~100000009,1037977,,2,1,2,1~' const arr1 = s.split('~') const arr2 = arr1.map(arr => { arr = arr.replace(/\"/g, '') return arr.split(',') }) console.log(JSON.stringify(arr2, null, 2))