JSFiddle - React, Tailwind, and code Playground
JavaScript
var data = "'<xml\n data>', NULL\n'abc', '<xml\n data>'\n'abc', 'abc'\n'abc', 'abc'\nNULL, NULL\n'abc', 'abc'\n'<xml\n data>', NULL\n'abc', '<xml\n data>'"
var result = ConvertToArray(data);
console.log(result);
function ConvertToArray(text){
var rows = [];
var i = 1;
while(i != -1 && i != 0){
//find closer appearance
var a = text.indexOf("NULL\n");
var b = text.indexOf("'\n");
i = ((a < b && a != -1) || (a > b && b == -1)) ? a+4 : b+1; //set index + 4 chars for NULL or 1 char for '
if(i == 0 || i == -1){
rows.push( text );
break;
}
rows.push( text.substring(0,i) );
text = text.substring(i+1, text.length)
}
return rows;
}