2

tengo la siguiente cadena de un archivo CSV

var arreglo = [`"Marcopolo b1 "`, `"Marcopolo b1, Leito "`,`"Marcopolo b2, "`]

var headers = allTextLines[0].split(/\t|,/);

//esta funcion devuelve:

var allTextLines = [`"Marcopolo b1 "`, `"Marcopolo b1, Leito "`,`"Marcopolo b2, "`]
 for (var i = 1; i < allTextLines.length; i++) {
var cut = allTextLines[i].split(/\t|,/);
console.log(cut);

}

pero lo que espero de salida es:

{"Marcopolo b1 "}, {"Marcopolo b1, Leito "},{"Marcopolo b2, "}

Como seria el patrón para tener como resultado esto? Gracias


Disculpas por no haber explicado bien, lo que pasa es que tengo un archivo *.csv que validar, que tiene los siguientes valores: name,description,correo "TRANS. COPACABANA","descripcion de la mision, descripcion1, descripcion 2","transcopacabana@gmail.com" Si nos fijamos en la columna de descripción tengo comillas dobles y dos comas, y requiero recuperar esa descripción entera, quitando solo comillas dobles y que no se considere como otra columna por las comas que presenta, mas o menos asi: descripcion de la mision, descripcion1, descripcion 2

Jorgesys
  • 103,630
  • 13
  • 52
  • 124
  • Quizá deberías aclarar qué es lo que intentas hacer, porque esa salida es un pobo ambigua: ¿quieres añadir llaves (`{` y `}`) a cada cadena, crear objetos u obtener un array de cadenas de texto? – Pablo Lozano Jul 31 '18 at 11:10
  • tambien te invito a leer [como se conforma un JSON](https://es.stackoverflow.com/questions/169333/se-pueden-introducir-comillas-dobles-dentro-de-un-json/169371#169371) – JackNavaRow Jul 31 '18 at 11:28
  • Si quieres quitar las comillas simplemente haz un replace, las comillas que salen cuando muestras el array con console.log son propios de como se muestra el String, números y variables sin comillas y String con comillas, pero no se encuentran en el literal que contiene el String. – CarlosRamosar Jul 31 '18 at 12:29

1 Answers1

6

Así como lo presentas:

var allTextLines = [
    `"Marcopolo b1 "`, 
    `"Marcopolo b1, Leito "`,
    `"Marcopolo b2, "`
];

Eso no es una cadena sino un arreglo, y no necesitas usar split para separarlo

var allTextLines = [`"Marcopolo b1 "`, `"Marcopolo b1, Leito "`, `"Marcopolo b2, "`]
for (var i = 0; i < allTextLines.length; i++) {
  var cut = allTextLines[i];
  console.log(cut);
}

Sin embargo, también dijiste que querías la salida en la forma:

{"Marcopolo b1 "}, {"Marcopolo b1, Leito "},{"Marcopolo b2, "}

Y esa parte definitivamente no la entiendo. ¿Quieres loguear en la consola todo el array en vez de hacerlo elemento por elemento? ¿O quieres concatenar los elementos usando curly braces? El siguiente snippet hace ambas cosas a ver si alguna te sirve:

var allTextLines = [`"Marcopolo b1 "`, `"Marcopolo b1, Leito "`,`"Marcopolo b2, "`]
console.log.apply(console,allTextLines);

console.log(`{${allTextLines.join('},{')}}`)
ffflabs
  • 21,223
  • 25
  • 48