首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >读取CSV时的额外回车

读取CSV时的额外回车
EN

Stack Overflow用户
提问于 2014-07-25 18:56:15
回答 1查看 758关注 0票数 0

我有一些CSV文件,我正在尝试使用Java解析这些文件。我首先从CSV文件中提取一行,并将其发送到另一个方法,使用以下代码进行处理:

代码语言:javascript
运行
复制
for (String tempFile : filesToBeRead) {
        File csvFile = new File(tempFile);
        Scanner scanner =  new Scanner(csvFile);            
        scanner.useDelimiter("[\n\r]");
        scanner.next();         
        while(scanner.hasNext()) {
            String temp = scanner.next();
            System.out.println(temp);
//          dataStorage.enterRow(temp);

            }
        }

上述代码的输出为:

代码语言:javascript
运行
复制
AI277|DEL|MUB|05-12-2013|0600|4.10|5500|Y|EB

AI279|DEL|MUB|10-12-2013|0630|4.30|4900|Y|E

AI289|DEL|MUB|10-12-2013|0830|4.00|5650|Y|EB

AI278|DEL|MUB|17-12-2013|1830|4.20|5300|Y|E

AI278|DEL|MUB|20-12-2013|1430|3.45|6500|N|EB

输出应该是:

代码语言:javascript
运行
复制
AI277|DEL|MUB|05-12-2013|0600|4.10|5500|Y|EB    
AI279|DEL|MUB|10-12-2013|0630|4.30|4900|Y|E    
AI289|DEL|MUB|10-12-2013|0830|4.00|5650|Y|EB    
AI278|DEL|MUB|17-12-2013|1830|4.20|5300|Y|E
AI278|DEL|MUB|20-12-2013|1430|3.45|6500|N|EB

到底发生了什么,即使设置了适当的正则表达式,这个额外的回车(\r)是从哪里来的?

EN

回答 1

Stack Overflow用户

发布于 2014-07-25 18:57:49

下面正则表达式将匹配一个或多个换行符或回车符,

代码语言:javascript
运行
复制
"[\n\r]+"

只需将上面的正则表达式设置为分隔符。即将此scanner.useDelimiter("[\n\r]");行更改为,

代码语言:javascript
运行
复制
scanner.useDelimiter("[\n\r]+");
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24954152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档