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 に答える