嘗試使用掃描儀來分析從下列文件掃描儀解析...JAVA - 用引號和逗號
「狗」,「貓」,「馬」,「大象」,「海豚」
...有它的輸出如下:
狗 貓 馬 大象 海豚
什麼scanner.useDelimiter正則表達式可以做到這一點?也許我沒有走上正軌。獲取這些令牌的最佳方式是在每個令牌之間沒有逗號,並且每個令牌上沒有引號?
嘗試使用掃描儀來分析從下列文件掃描儀解析...JAVA - 用引號和逗號
「狗」,「貓」,「馬」,「大象」,「海豚」
...有它的輸出如下:
狗 貓 馬 大象 海豚
什麼scanner.useDelimiter正則表達式可以做到這一點?也許我沒有走上正軌。獲取這些令牌的最佳方式是在每個令牌之間沒有逗號,並且每個令牌上沒有引號?
我不會用Scanner
對於這一點,而不是我想:
List<String> values = new ArrayList<>();
try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
String[] data = reader.readLine().split(",");
for (String item : data) {
values.add(item.replace("\"", ""));
}
}
而且你有這些元素(只從第一行,但很容易將其擴展),在列表中values
。
您應該將'BufferedReader'放入[tag:try-with-resources]塊以防止內存泄漏 –
猜測我應該已經更清楚了。逗號可以出現在引號內。例如,「dog」,「cat」,「horse」,「dol,phin」應解析爲:dog cat horse dol,phin – Greymarch
@Greymarch然後,如果數據兼容,最好使用CSV解析器。 –
你可能可以啓動的是設置一個掃描器來讀取文檔,如果下一個字符串是'''或'',則使用scanner.hasNext()測試if語句並通過他們(在「你可以添加一個空格)」,但是如果掃描儀按照字母字符進行拾取,則打印出字符。對於某些源代碼,這裏有一個關於如何解析文本文件或字符串的四種解釋的鏈接。
你在錯誤的軌道上。這聽起來像一個CSV文件,爲此有幾個庫可以很好地完成工作。既然你沒有提供真正的細節或代碼,我們無法真正幫助超越。 –