簡體   English   中英

用於csv文件的java.util.Scanner的正則表達式?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM