unescapeString function
Unescapes a string by processing escape sequences.
Handles \n, \t, \r, \\, and \" escape sequences.
Implementation
String unescapeString(String value) {
final StringBuffer result = StringBuffer();
int i = 0;
while (i < value.length) {
if (value[i] == backslash) {
if (i + 1 >= value.length) {
throw FormatException(
'Invalid escape sequence: backslash at end of string');
}
final String next = value[i + 1];
switch (next) {
case 'n':
result.write(newLine);
i += 2;
continue;
case 't':
result.write(tab);
i += 2;
continue;
case 'r':
result.write(carriageReturn);
i += 2;
continue;
case backslash:
result.write(backslash);
i += 2;
continue;
case doubleQuote:
result.write(doubleQuote);
i += 2;
continue;
default:
throw FormatException('Invalid escape sequence: \\$next');
}
}
result.write(value[i]);
i++;
}
return result.toString();
}