当我有一个字符串,如:
String x = "hello\nworld";
Run Code Online (Sandbox Code Playgroud)
在使用时,如何让Java打印实际的转义字符(而不是将其解释为转义字符)System.out?
例如,在打电话时
System.out.print(x);
Run Code Online (Sandbox Code Playgroud)
我想看看:
hello\nworld
Run Code Online (Sandbox Code Playgroud)
并不是:
hello
world
Run Code Online (Sandbox Code Playgroud)
我想看到实际的转义字符用于调试目的.
Jud*_*eng 28
在Java库"org.apache.commons.lang"中使用方法"StringEscapeUtils.escapeJava"
String x = "hello\nworld";
System.out.print(StringEscapeUtils.escapeJava(x));
Run Code Online (Sandbox Code Playgroud)
Vla*_*lad 17
一种方法是:
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();
}
Run Code Online (Sandbox Code Playgroud)
并在运行System.out.print(unEscapeString(x)).