2011-02-25 59 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})");