[英]Regex for java.util.Scanner for csv files?
我想使用java.util.Scanner
讀取CSV文件。 第一次嘗試看起來很有希望:
Scanner scanner = new Scanner(cFile);
while (scanner.hasNextLine()) {
String curLine = scanner.nextLine().trim();
this.processRow(curLine);
}
private void processRow(String workString) {
Scanner lineScanner = new Scanner(workString);
lineScanner.useDelimiter(",");
// .next goes through the elements
lineScanner.next();
}
我面臨的挑戰是lineScanner.useDelimiter(",");
。 我的CSV文本中有逗號,並且轉義了雙引號:
Year,Value,Customer,NickName,Rank
2012,45.56,T3456C,"Mike, \"The Gangster\"",1
2012,1237.35,"A453F", Joe Armagendon,2
2012,,X344,"Frank the weasel",3
是否有僅過濾分隔符的正則表達式?
正如nhahtdh所提到的,您實際上應該使用解析器,因為CSV的工作方式比示例要復雜一些。
那里有很多圖書館。 我使用過並派生的一個是csvfile 。 它非常易於使用並且可以正確完成工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.