Как преобразовать строку, содержащую escape-последовательность символов, в char?

Я ищу способ преобразовать строку, содержащую escape-последовательность символа, в представленный символ.

] Так, например, я хочу проанализировать строку \ " (которая имеет два символа, обратную косую черту и двойные кавычки) в char " . Итак, массив символы в один char.

Так что что-то, что могло бы сделать что-то вроде этого и наоборот:

package test;
public class Test {
    private static char parseChar(String string) {
        char c = 0;
        if ("\\n".equals(string)) {
            c = '\n';
        }else if ("\\t".equals(string)) {
            c = '\t';
        }else if ("\\r".equals(string)) {
            c = '\r';
        }else if ("\\f".equals(string)) {
            c = '\f';
        }else if ("\\b".equals(string)) {
            c = '\b';
        }else if ("\\\'".equals(string)) {
            c = '\'';
        }else if ("\\\"".equals(string)) {
            c = '\"';
        }else if ("\\\\".equals(string)) {
            c = '\\';
        }
        return c;
    }
    public static void main(String[] args) {
        for (String arg : args) {
            System.out.println(arg + " : " + (int)parseChar(arg) + " : " + parseChar(arg) + ";");
        }
    }
}

Я не мог поверить, что в java.lang или другом нет ничего, что могло бы предоставить мне хороший (возможно, собственный) код для этого, потому что Я считаю, что приведенный выше код может быть неполным и не анализировать каждый проблемный (ускользающий?) Символ, потому что я новичок. Мне нужен инструмент, который может делать то же самое, что и конструктор String:

String st = "\"";
char ch = st.charAt(0);

ch output: ";

Спасибо, что прочитали это, извините, если не ясно, я буду регулярно проверять и исправлять, если спросят.

PS :

Когда я запускаю приведенный выше код:

java -classpath ~ / workspace / MacroRecorder / bin / test.Test \\ n \\ t \\ f \\ r \\ b \\\ '\\\ "\\\\;

... он выводит

\n : 10 : 
;
\t : 9 :    ;
\f : 12 : 
          ;
;r : 13 : 
\b : 8 :;
\' : 39 : ';
\" : 34 : ";
\\ : 92 : \;

Но в Eclipse вывод совершенно другой с теми же параметрами, особенно" очень беспорядочно ".

7
задан sinekonata 5 January 2012 в 00:35
поделиться