2011-02-25 74 views
1

如何將System.getProperty("line.separator");返回的值轉換爲其字符串表示形式。瑣碎轉換

例如,如果該值爲"\n"我想有由字符組成的字符串:['\' + 'n'],如果該值"\r\n" =>['\','r','\','n']是否有意義?

我想起了一些非常小的想法,我想知道不同的想法。

編輯

衛生署!!小算盤(確實很少)後,我想出了一個很明顯的:

String lineSeparatorRepresentation 
     = System.getProperty("line.separator").equals("\n")?"\\n":"\\r\\n"; 
+0

您是否想要打印字符串或將其用作程序中的值? – justkt 2011-02-25 17:49:26

+0

@justkt要打印值... – OscarRyz 2011-02-25 17:50:07

+1

你想爲這個問題提供解決方案還是應該更一般?據我所知,只有三個可能由該方法返回的字符串,所以你不妨製作一個Map 。 – 2011-02-25 17:54:03

回答

5

退房的Apache Commons Lang中的StringEscapeUtils類的escapeJava方法。如果你不想僅僅爲此而依賴Commons Lang,那麼請看他們的source code如何實現它 - 因爲可能的轉義集是如此之低,所以它只是一個小查找表。

+1

mhh不知道,...使用整個庫只是爲了... – OscarRyz 2011-02-25 17:52:03

+0

第二個想法,我可能使用其他轉換爲我的程序的其他部分..所以+1 ...我會在幾分鐘內接受 – OscarRyz 2011-02-25 17:57:37

0
lineSeparatorRepresentation.split("(?<=\\G.{1})");