unescapeBackslashes function

String unescapeBackslashes(
  1. String s
)

s with every backslash escape of ASCII punctuation replaced by the character it escapes.

Implementation

String unescapeBackslashes(String s) {
  if (!s.contains(r'\')) {
    return s;
  }
  final out = StringBuffer();
  var i = 0;
  while (i < s.length) {
    final c = s.codeUnitAt(i);
    if (c == 0x5C &&
        i + 1 < s.length &&
        isAsciiPunctuation(s.codeUnitAt(i + 1))) {
      out.writeCharCode(s.codeUnitAt(i + 1));
      i += 2;
      continue;
    }
    out.writeCharCode(c);
    i += 1;
  }
  return out.toString();
}