Я занимаюсь некоторым регулярным выражением, чтобы разделить некоторые строки и извлечь из них как Unicode, так и нормальные escape-последовательности (в основном, любой escape, принятый Java), а затем я хочу их проанализировать с помощью метода.Преобразование строк в символы Escapes и Unicode без StringEscapeUtils
Это все работает отлично, однако теперь я нахожусь в точке, где после того, как эти побеги были получены, я хочу превратить их в их фактический побег. Например, \n
буквально преобразуется в новую строку.
Я знаю, что могу использовать Apache StringEscapeUtils
, но я не согласен с их лицензией по нескольким причинам и, скорее всего, смогу сделать это сам.
Из моего понимания, я могу просто сделать что-то вроде этого:
switch (character) {
case 'n': return '\n';
case 't': return '\t';
default: return '\0';
}
Но я хочу, чтобы быть в состоянии разобрать вещи, как \0345346
и \u3456
, что Java будет принимать в действительные записи, без записи каждый, одиночный возможный комбинация. Я могу regex эти вещи просто отлично, но я хочу иметь возможность проанализировать их в своих буквальных значениях.
Есть ли способ, которым я могу добиться этого?