如何将具有特殊字符的字符串转换为转义这些字符串的另一个字符串

时间:2017-09-15 17:03:55

标签: java string unicode char escaping

我正在寻找Java SE库中的函数或一些已经提供以下实现的常见函数(例如apache-commons):

说,我有一个带有不可打印和特殊字符的字符串,例如制表符......我希望能够获得这样一个字符串的表示,告诉读者字符串的实际构成:

例如:

String input = "hello\tworld!!!";
System.out.println(input); \\ output looks like: hello    world!!!
String output = printable(input);
System.out.println(output); \\ output looks like: hello\tworld!!!
                           \\ or
                           \\ output looks like: hello<TAB>world!!!
                           \\ or
                           \\ output looks like: hello\011world!!!

确切的形式并不重要,但它应该足够好,以便显示出来 字符串的内容以明确的方式和程序员可以理解的方式。

我可以编写自己的解决方案,但我想知道是否已存在某些内容。

1 个答案:

答案 0 :(得分:1)

您可能需要查看org.apache.commons.lang3.StringEscapeUtils。它可以在Apache commons-lang3中找到。

String input = "hello\tworld!!!";
System.out.println(input); //output looks like: hello    world!!!
String output = StringEscapeUtils.escapeJava(input);
System.out.println(output);//output looks like: hello\tworld!!!