2

编辑:错误!下面的代码有效,在我的例子中,字符串被读取为“\n”,这给了我 2 个字符而不是 1 个字符。我很傻。

我正在尝试将孤立的单个字符从字符串转换为字符。我无法将转义字符转换为单个字符,因为它将 \ 视为单独的字符。

String str = "\n"; 
char charVal = str.charAt(0); // Gives charVal as \

是否有一个函数可以将转义序列解释为单个字符而不是单独的字符?

我试图在没有 Apache commons 包的情况下做到这一点。

谢谢!

4

2 回答 2

3

对更新问题的回答:您的结果不知何故变得混乱。str只有一个字符,所以charVal那个字符,换行符。检查输出,如果仍然不是您所期望的,请给我们一个SSCCE 来证明您的问题。

原始答案: temp不是str,而且str.charAt(0)绝对不会给出\结果。str是一个单字符的字符串,所以你只会得到一个字符,这是一个换行符。很可能,您的代码中有更进一步的内容,例如:

String temp = "\\n";

在这种情况下,您有一个由两个字符组成的字符串,其中第一个是反斜杠。

于 2013-02-14T02:38:15.090 回答
2

无法重现

    String str = "\n";
    char charVal = str.charAt(0);

    System.out.println(charVal);

给出换行符

于 2013-02-14T02:36:18.757 回答