打印字符串的转义表示形式

时间:2012-12-04 11:17:00

标签: java

如何打印字符串的转义表示形式,例如,如果我有:

s = "String:\tA"

我希望输出:

String:\tA
屏幕上的

而不是

String:    A

3 个答案:

答案 0 :(得分:7)

我认为你在寻找:

String xy = org.apache.commons.lang.StringEscapeUtils.escapeJava(yourString);
System.out.println(xy);

来自Apache Commons Lang v2.6

在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