У меня есть такой файл xlsx:
Я экспортировал свой файл xlsx в файл csv. Итак, я получаю такой результат:
DemandID;ExceptionalFlag;TAG
47 417;"X78 Sos
kopk";Enabled
41 224;"NAnCond
Blap
MOP
nbi
baze";Enabled
65 489;;Direct
Я хочу импортировать свой файл csv, который будет иметь такой вывод:
DemandID;ExceptionalFlag;TAG
47 417;"X78 Sos kopk";Enabled
41 224;"NAnCond Blap MOP nbi baze";Enabled
65 489;;Direct
Я не знаю, где я буду добавлять это условие, вы найдете, как показано ниже. Мой код:
var content = reader.result;
var lines = content.split((/\r\n|\n/));
var headers=lines[0].split(";");
for(var i=1;i<lines.length;i++){
var currentline = lines[i].match(/(\s*"[^"]+"\s*|\s*[^;]+|;)(?=;|$)/g);
}
Пожалуйста помоги.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Ваша проблема не совсем четко определена, мы действительно не знаем, где должен быть конец строки (было бы лучше, если бы каждое значение заканчивалось на ';'). Если мы предположим, что последний столбец может содержать только одно слово, это даст желаемый результат:
const input = `DemandID;ExceptionalFlag;TAG
47 417;"X78 Sos
kopk";Enabled
41 224;"NAnCond
Blap
MOP
nbi
baze";Enabled
65 489;;Direct`;
let result = input.replace(/\n/g, " ").split(''); // collapse the string, split into array
let counter = 0;
let flag = false;
for (let i=0; i < result.length; i++) { // look at every character in the array
if (result[i] === ';') counter++ // count the number of ';'
if (counter === 2) { // when the counter reaches 2
flag = true;
counter = 0;
}
if (flag && result[i] === ' ') { // replace the next space with \n
result[i] = '\n';
flag = false; // and reset...
}
}
console.info(result.join(''));
Я бы посоветовал поискать парсер Javascript CSV. Их очень много. Вы можете написать код самостоятельно, но вам нужно знать множество мелких деталей.