5

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

s = "String:\tA"

我希望输出:

String:\tA

在屏幕上而不是

String:    A
4

3 回答 3

9

我认为您正在寻找:

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

于 2012-12-04T11:20:51.800 回答
3

对于给定的字符串,您必须替换控制字符(如制表符):

System.out.println("String:\tA\n".replace("\t", "\\t").replace("\n","\\n");

(以及其他人)

于 2012-12-04T11:22:09.567 回答
3

严格来说,内部表示是一个无符号的 16 位整数。我认为您的意思是您想转义字符串。

Apache 库中有一个名为StringEscapeUtils的类来帮助解决这个问题。

String escaped = StringEscapeUtils.escapeJava("\t");
System.out.println(escaped); // prints \t
于 2012-12-04T11:24:11.390 回答