如何打印字符串的转义表示形式,例如,如果我有:
s = "String:\tA"
我希望输出:
String:\tA
屏幕上的而不是
String: A
答案 0 :(得分:7)
我认为你在寻找:
String xy = org.apache.commons.lang.StringEscapeUtils.escapeJava(yourString);
System.out.println(xy);
在Apache Commons Lang v3.5 +中弃用,使用Apache Commons Text v1.2
答案 1 :(得分:4)
对于给定的String,您必须替换控制字符(如tab):
System.out.println("String:\tA\n".replace("\t", "\\t").replace("\n","\\n");
(以及其他人)
答案 2 :(得分:3)
严格来说,内部表示是无符号的16位整数。我想你的意思是你要逃避字符串。
Apache库中有一个名为StringEscapeUtils的类来帮助解决这个问题。
String escaped = StringEscapeUtils.escapeJava("\t");
System.out.println(escaped); // prints \t