Intentando excluir {} de una cadena como la siguiente con expresiones regulares, pero hasta ahora {} todavía está en la matriz creada. Consulte el ejemplo de jsfiddle (parte de ejemplo de un código más grande, por lo que entiendo que el código se puede simplificar). El resultado es:
["{1", "\"FAAS\"}"]pero me gustaría
["1", "\"FAAS\""]https://jsfiddle.net/173os8w6/
var objectX = {}; var text = `{1 "FAAS"}`; var lines = text.split('\n'); for (var line = 0; line < lines.length; line++) { const regex = /{([^\s"]+)|"([^"]*)"}/g; var row2 = []; let result = ""; while(result = regex.exec(lines[line])) { row2.push(result[0]); //push parts to array } console.log(row2); }Debe analizar las capturas y agregar los valores correctos en consecuencia:
while(result = regex.exec(lines[line])) { if (result[1]) { row2.push(result[1]); } else { row2.push(result[2]); } }Aquí está su demostración de JavaScript arreglada:
var objectX = {}; var text = `{1 "FAAS"}`; var lines = text.split('\n'); for (var line = 0; line < lines.length; line++) { const regex = /{([^\s"]+)|"([^"]*)"}/g; var row2 = []; let result = ""; while (result = regex.exec(lines[line])) { if (result[1]) { row2.push(result[1]); } else { row2.push(result[2]); } } console.log(row2); }