我正在寻找一种方法将包含字符转义序列的字符串转换为表示字符。因此,例如,我想将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中或其他能够给我提供良好的(也许本机)代码,是因为我觉得上面的代码可能不完整,不能解析每一个有问题的(可以逃避的)角色,因为我是一个noob。 我想要一个工具,它可以做同样的事情String构造:
String st = "\"";
char ch = st.charAt(0);
声道输出:“
感谢您读这篇文章,我很抱歉,如果不清楚我会。定期和正确的检查,如果问
PS:
当我运行上面的代码:
的java -classpath〜/工作区/宏录制/ bin中/ test.Test \\Ñ\\吨\\˚F\\ř\\ b \\\” \\\” \\\\;
...它输出
\n : 10 :
;
\t : 9 : ;
\f : 12 :
;
;r : 13 :
\b : 8 :;
\' : 39 : ';
\" : 34 : ";
\\ : 92 : \;
但在Eclipse中,输出具有相同的参数完全不同,特别是“很凌乱。
可能重复[如何转换/解析从字符串到char在java?](http://stackoverflow.com/questions/7853502/how-to-convert-parse-从串-to-char-in-java) – 2012-01-05 00:17:56
我该如何向该问题添加问题?每一个答案都是一样的,而不是回答这个问题......我觉得这是更具体的,虽然他是真的想和我一样。我也会尝试编辑他的问题。 – sinekonata 2012-01-05 00:21:02
你不能。你觉得那里的答案对你没有帮助吗?当然好像。 – 2012-01-05 00:22:04