首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java 字符串按換行符分割的正確姿勢:使用正則表達式 \\r?\\n

     編輯:程式設計綜合問答

問題場景

從資料庫讀取的字符串包含換行符,需分割成陣列並逐行處理。直接用 split("\n") 在跨平台時可能遺漏 \r\n (Windows) 或 \r (舊 Mac)。

推薦寫法

String lines[] = result.split("\\r?\\n");

該正則同時匹配 \n、\r\n、\r 三種換行格式,兼容性最佳。

完整範例

String result = getCoin(); // 含換行的長字符串
String[] separated = result.split("\\r?\\n");
List chartNames = new ArrayList<>();
for (String line : separated) {
    if (!line.trim().isEmpty()) {
        chartNames.add("$." + line + " some text");
    }
}
// 輸出: [$.alpha some text, $.bravo some text, $.charlie some text]

進階技巧

  • Java 8+ 可用 Arrays.stream(separated).filter(s -> !s.isEmpty()).collect(Collectors.toList()) 簡化。
  • 若需保留空行,移除 .filter() 即可。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved