【发布时间】:2015-02-20 07:00:00
【问题描述】:
我的 csv 写得不好:
标题是:
"xxx"|"yyy"|"zzz"|"nnn"|"...."
所以我尝试创建一个扫描仪并在管道上拆分:
Scanner scanner = new Scanner(new File("myCsv.csv"));
int first = 1;
String line;
String row[];
while(scanner.hasNextLine()){
line = scanner.nextLine();
row = line.split("\\|");
if(first==1){
first = 0;
continue;
}
...
}
不幸的是,在 csv 的一列中我发现了一个新行,因此“nextLine”不是获取整行的好方法。
另一个问题是管道存在于列内..类似于:
"field1"|"field|2"|"field3\n"|"..."
所以我认为解析该 csv 的最佳方法是创建一个匹配 ".."|".." 字符串的正则表达式模式。
有人可以帮助我吗?
谢谢!
【问题讨论】:
-
如何在引号内指定
"? -
对我来说,
|分隔 CSV 看起来写得很好。 -
如果您查看 "field1"|"field|2"|"field3\n"|"..." 并拆分为管道,它将字段和 2 拆分为两个字段而不是一个字段
-
我的意思是,当字段包含
"时,CSV 是什么样的? -
你为什么说这个文件写得不好,你为什么不找一个存在的csv库呢?