2017-09-15 240 views
0

我正在尋找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

確實似乎是重複的。然而,我感到驚訝的是,如果不需要轉義,只有一個建議的解決方案實際返回傳入的相同字符串。而該解決方案甚至沒有正確解決問題。 –

回答

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!!! 
相關問題