如何将LineBreak(\ n)添加到具有固定String格式的String.format?

时间:2011-02-09 13:43:49

标签: java string

在下面的代码中,message是一个最终的字符串,其中包含\n,但它不起作用。

message = format = "Blah %d Blah Blah \nBlah Blah %s Blah"
interventionSize = number
UserID = String
String.format(Dic.message,interventionSize,userID)

在这种情况下如何进行换行,找不到答案。

BTW,我不能使用任何类型的框架或外部jar来做那个(旧代码)必须使用Plain Old Java。

2 个答案:

答案 0 :(得分:30)

在格式字符串中使用\n就可以了。

也许您应该尝试特定于平台的新线。使用格式字符串,您可以使用%n

即尝试以下方法:

String.format(Dic.message.replace("\\n", "%n"), interventionSize, userId);

答案 1 :(得分:1)

或者您可以使用System.lineSeparator()。这将确保平台独立性。如果在1.7之前使用JDK System.getProperty("line.separator");

代码看起来像这样:

String.format(Dic.message.replace("\\n", System.lineSeparator()), interventionSize, userId);  

或者这个(1.7之前的JDK):

String.format(Dic.message.replace("\\n", System.getProperty("line.separator")), interventionSize, userId);