從資料庫讀取的字符串包含換行符,需分割成陣列並逐行處理。直接用 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]
Arrays.stream(separated).filter(s -> !s.isEmpty()).collect(Collectors.toList()) 簡化。.filter() 即可。