2011-02-09 45 views
8

在下面的代碼中,message是一個最終的字符串,其內部有一個\n,它不起作用。如何將LineBreak( n)添加到具有固定字符串格式的String.format?

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

在這種情況下,我怎樣才能讓換行符找不到答案。

順便說一句,我不能使用任何類型的框架或外部jar來做到這一點(舊代碼)必須使用普通的舊Java。

+3

拿什麼*不起作用*?你有錯誤信息嗎?你的輸出是什麼? – 2011-02-09 13:55:50

+0

事實上,你是對的...問題是,線不會中斷,我只是得到一個巨大的線,而不是2. – 2011-02-09 14:01:52

回答

28

\n格式字符串就好了。

也許你應該嘗試一個平臺特定的新行。使用格式字符串,您可以使用%n

也就是說,請嘗試以下操作:

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

另外,您可以使用System.lineSeparator()。這將確保平臺獨立性。如果您在1.7之前使用JDK System.getProperty("line.separator");。然後

代碼應該是這樣的:

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

或本(用於JDK 1.7之前):

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