看板 java 關於我們 聯絡資訊
以下是目前我測試的程式碼, 但不是我要的結果 >"< public static void main(String[] args) { String str = "小尚,\"Abby, Sun\",girl,0911-XXX0L9,si,1988/11/20"; String[] cells = str.split(","); System.out.println(str); for(int i = 0 ; i < cells.length ; i++){ System.out.println("cells["+i+"]:"+cells[i]); } } Console output: 小尚,"Abby, Sun",girl,0911-XXX0L9,si,1988/11/20 cells[0]:小尚 cells[1]:"Abby cells[2]: Sun" cells[3]:girl cells[4]:0911-XXX0L9 cells[5]:si cells[6]:1988/11/20 我想要的結果是 cells[0]:小尚 cells[1]:"Abby, Sun" cells[2]:girl cells[3]:0911-XXX0L9 cells[4]:si cells[5]:1988/11/20 說明: 資料都是用逗號來當分隔符號 但是如果資料裡有逗號想呈現 就會用雙引號括住 後來想用indexOf來做 但做到 String str = "小尚,\"Abby, Sun\",girl,0911-XXX0L9,si,1988/11/20"; int idxStart; int idxEnd; String strTemp; if(str.indexOf("\"")>-1){ idxStart = str.indexOf("\""); System.out.println(str.indexOf("\"")); idxEnd = str.indexOf("\"", idxStart+1); strTemp = str.substring(idxStart+1, idxEnd); System.out.println(strTemp); } 就沒想法了 而進階的資料可能會像 String str = "小尚,\"Abby, Sun\",girl,0911-XXX0L9,\"si, Tokyo, Relax~~\",1988/11/20"; 這樣的形式 不知道可不可以請教一下思路呢? 謝謝~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.248.193
PsMonkey:建議你直接去找 Java 的 CSV library(印象中有) 05/02 16:01
cha122977:加上判斷式 讓出現雙引號的部份合併如何 05/02 18:05
bera:不能使用CSV的library, 要自己寫判斷邏輯出來~~ 05/03 09:02
popcorny:為什麼不能用現成套件? 因為是作業? 05/03 09:59
bera:不是耶~~~要想人家怎麼實現的邏輯~~~ 05/03 10:00