2017-01-23 18 views
0

我想以文本格式在Java.If輸入文本是:數據Fomatting在java中

「大家好

你怎麼樣?

歡迎 '

我想要的輸出:

' 大家好
你好嗎?
歡迎」

但我正在逐漸輸出

'嗨allHow是你嗎?歡迎'

我的代碼是

while scanner.HasNext(){ 
s+=scanner.NextLine().replaceAll("\n+" "\n"); 
System.out.println(s); 
} 
+1

您可以上傳完整的源代碼或插入代碼片段嗎? – Svekke

+1

我將它存儲在一個文本文件中。從中讀取並追加到字符串變量 – Ramya

+0

您是否嘗試向替換查詢添加空格?您刪除了下一行字符,但您還需要添加空格 – AxelH

回答

4

假設的問題是格式正確無誤,並且您試圖

  • 讀取一個文件(根據註釋)
  • 刪除空行

然後,當你閱讀將文件轉換爲字符串,在追加行之前檢查是否不是line.isEmpty()

StringBuilder sb = new StringBuilder(); 
while (scanner.hasNextLine()) { 
    String line = scanner.nextLine().trim(); 
    if (line.isEmpty()) continue; 
    sb.append(line).append(System.lineSeparator()); 
} 
System.out.print(sb.toString()); 
+0

這是拋出我NoSuchElement異常 – Ramya

+0

不應該只要你的輸入文件中有換行符 –

0

你想讓它用空格替換,正確嗎?

str.replaceAll("\n+","\n")); 
+0

其實我需要換行符,但只有1個換行符。如果它有更多,他們需要忽略 – Ramya

+0

@Ramya在字符串的末尾?然後只是在替換後連接, –

+2

是的,正確的格式是重要的,因爲你的問題首先顯示爲空格而不是新行。我會重新審視它。 –