parseDelimitedValues function
Parses comma/tab/pipe separated values
Implementation
List<String> parseDelimitedValues(String input, String delimiter) {
final values = <String>[];
String current = '';
bool inQuotes = false;
int i = 0;
while (i < input.length) {
final char = input[i];
if (char == backslash && i + 1 < input.length && inQuotes) {
// Escape sequence in quoted string
current += char + input[i + 1];
i += 2;
continue;
}
if (char == doubleQuote) {
inQuotes = !inQuotes;
current += char;
i++;
continue;
}
if (char == delimiter && !inQuotes) {
values.add(current.trim());
current = '';
i++;
continue;
}
current += char;
i++;
}
// Add last value
if (current.isNotEmpty || values.isNotEmpty) {
values.add(current.trim());
}
return values;
}