2013-02-14 133 views
2

编辑:假!下面的代码工作,在我的例子中,字符串被读作“\ n”,这给了我2个字符而不是1个字符。我很傻。Java - 将转义字符串转换为字符

我想将一个孤立的单个字符从字符串转换为字符。我无法将转义字符转换为单个字符,因为它将\作为单独的字符处理。

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

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

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

谢谢!

回答

3

回答到更新的问题:您的结果越来越某种程度上混淆。 str只有一个字符,所以charVal将是那个字符,换行。检查输出,如果它仍然不是你所期望的,请给我们一个SSCCE来证明你的问题。

原来的答复:tempstr,并str.charAt(0)绝对不会给\作为结果。 str是一个单字符字符串,所以你只能得到一个字符,这是一个换行符。可能的是,你有什么进一步的在你的代码,如:

String temp = "\\n"; 

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

+0

感谢您指出temp/str错误,请编辑它。 – Meep 2013-02-14 02:44:16

+1

你需要再次检查输出,然后,因为你上面写的是不正确的。看到我更新的答案。 – 2013-02-14 02:44:53

+0

谢谢,你是对的。输入来自文件,但读者正在添加额外的\。简化字符串确实解决了这个问题。 – Meep 2013-02-14 02:47:46

2

广东话重现

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

    System.out.println(charVal); 

给出换行符

+0

@RyanStewart是的只是注意到thanx – user000001 2013-02-14 02:42:38

+0

谢谢!编辑原创以反映我的愚蠢。 – Meep 2013-02-14 03:04:18