当我有像这样的字符串时:
String x = "hello\nworld";
在使用System.out
时,如何让Java打印实际的转义字符(而不是将其解释为转义字符
例如,当调用
System.out.print(x);
我希望看到:
hello\nworld
而不是:
hello
world
我想看看实际的转义字符,以便进行调试。
发布于 2011-10-25 18:42:37
实现这一点的一种方法是:
public static String unEscapeString(String s){
StringBuilder sb = new StringBuilder();
for (int i=0; i<s.length(); i++)
switch (s.charAt(i)){
case '\n': sb.append("\\n"); break;
case '\t': sb.append("\\t"); break;
// ... rest of escape characters
default: sb.append(s.charAt(i));
}
return sb.toString();
}
然后你运行System.out.print(unEscapeString(x))
。
发布于 2014-08-26 14:48:46
使用Java lib "org.apache.commons.lang“中的"StringEscapeUtils.escapeJava”方法
String x = "hello\nworld";
System.out.print(StringEscapeUtils.escapeJava(x));
发布于 2011-10-25 18:40:29
您必须转义斜杠本身:
String x = "hello\\nworld";
https://stackoverflow.com/questions/7888004
复制相似问题