当我有一个字符串如:
String x = "hello\nworld";
使用System.out
时,如何让Java打印实际的转义字符(而不是将其解释为转义字符?)
例如,在致电
时System.out.print(x);
我想看看:
hello\nworld
而不是:
hello
world
我希望看到实际的转义字符用于调试目的。
答案 0 :(得分:25)
使用方法" StringEscapeUtils.escapeJava"在Java lib" org.apache.commons.lang"
String x = "hello\nworld";
System.out.print(StringEscapeUtils.escapeJava(x));
答案 1 :(得分:16)
一种方法是:
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))
。
答案 2 :(得分:1)
你必须逃避斜线:
String x = "hello\\nworld";
答案 3 :(得分:1)
逃脱逃脱角色。
String x = "hello\\nworld";
答案 4 :(得分:1)
System.out.println("hello \\nworld");
答案 5 :(得分:0)
Java的转义序列与C中的转义序列相同。
使用String x = "hello\\nworld";
答案 6 :(得分:0)
尝试逃避\\n
答案 7 :(得分:-1)
您可能想查看this method。虽然这可能比你想要的更多。或者,对新行,回车符和制表符使用String替换方法。请记住,还有unicode和十六进制序列等。