最近在写Java解析CSV文件,由于公司不支持javacsv第三方包,由此想到用正则表达式解析CSV文件,我参考了该作者的代码
http://blog.csdn.net/notonlyforshe/article/details/7384078,做了些改动,试了还不错。
BufferedReader br = new BufferedReader(new FileReader("test.csv"));
Pattern pattern = Pattern.compile("(,)?((\"[^\"]*(\"{2})*[^\"]*\")*[^,]*)");
String strLine = null;
while((strLine = br.readLine()) != null) {
Matcher matcher = pattern.matcher(strLine);
while(matcher.find()) {
String cell = matcher.group(2);//group(2) is ((\"[^\"]*(\"{2})*[^\"]*\")*[^,]*)
Pattern pattern2 = Pattern.compile("\"((.)*)\"");
Matcher matcher2 = pattern2.matcher(cell);
if(matcher2.find()) {
cell = matcher2.group(1);
}
//... get the cell and you analysis
}
}
分享到:
相关推荐
总的来说,"JAVA正则表达式小程序"结合了Java的正则表达式处理能力,实现了从网页中提取特定信息并将其结构化存储到CSV文件中,为数据分析和处理提供了便利。这样的程序在爬虫、信息提取和自动化报告生成等领域具有...
解析CSV文件... 213 第6章:打造高效正则表达式.... 221 典型示例... 222 稍加修改——先迈最好使的腿... 223 效率vs准确性... 223 继续前进——限制匹配优先的作用范围... 225 实测... 226 全面考查回溯......
正则表达式(Regular Expression,简称regex)是用于在文本中匹配特定模式的强大工具,...请打开`正则表达式30分钟入门教程.mht`文件,进一步深入了解这些概念,通过实例练习巩固所学知识,快速成为正则表达式的熟手。
使用`java.util.Scanner`或正则表达式解析CSV,然后使用DOM(文档对象模型)或SAX(简单API for XML)创建XML文档。 以下是一个简化的自定义实现过程: 1. 读取CSV文件:使用`BufferedReader`逐行读取文件,将每行...
例如,CSV文件通常使用逗号分隔值,可以使用`BufferedReader`配合正则表达式或`CSVReader`类(如Apache Commons CSV库)来解析;如果是XML文件,可能需要用到`DocumentBuilderFactory`和`DocumentBuilder`来构建DOM...
在Java中,处理CSV文件通常需要手动分割字符串或使用正则表达式,而JavaCSV库提供了一个更高效、更便捷的方法。该库的核心类包括`CSVReader`和`CSVWriter`,它们分别用于读取和写入CSV数据。 `CSVReader`类允许...
字符串拆分在实际开发中非常常见,比如日志分析、CSV文件解析、网页抓取等领域。通过灵活运用正则表达式,我们可以高效地处理各种格式的文本数据。 通过深入理解正则表达式和`split()`方法,开发者能够更好地处理...
例如,使用正则表达式去除换行,将公式转换为文本,或者在解析数字时统一格式。此外,确保所有数据在写入CSV时已正确处理,可以减少后续导入Excel时的困扰。 总之,Java中读取CSV文件可以通过多种方式实现,选择...
**波斯词干分析器...综上所述,"PersianStemmer"是一个使用正则表达式和Pascal语言实现的波斯语词干分析器,它在信息检索和其他NLP任务中扮演着核心角色,通过规则化的词干提取,提高了文本处理的效率和准确性。
压缩包中的文件名为“2022年最完整区号-国家-手机号正则数据库”可能是个CSV、JSON或其他格式的数据文件,包含上述字段信息。开发者在使用时需要解析这个文件,并将数据加载到程序中,然后根据需求编写对应的正则...
Jakarta ORO(ORegexp和OText)是一个正则表达式库,它为Java提供了Perl风格的正则表达式匹配和替换功能。虽然"jakarta-oro-2.0.8.jar"不是直接用于FTP连接的库,但在处理FTP服务器返回的数据,比如解析目录列表或...
在不依赖任何第三方库如Jsoup的情况下,我们将利用Java的网络和字符串处理功能,特别是正则表达式来实现数据的解析和提取。 1. **Java网络编程基础** - `java.net`包提供了处理网络连接的基础类,如`...
在Java编程语言中,分割字符串是一...总之,Java的`split()`方法是处理字符串的强大工具,结合正则表达式,能够灵活地处理各种字符串分割需求。在实际开发中,我们需要熟练掌握这一功能,以提高代码的效率和可维护性。
模板,用 $$ 引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的东东),则可以是 $2$,$3$ 等等,表示解析到的第几个值给 title。匹配数字,0 代表随机,-1 代表所有,其余正整数代表将在检查的内容...
例如,可以使用正则表达式或XML解析器处理Entries文件,获取文件的状态信息;对于RCS文件,可能需要使用RCS库来解析差异信息。 四、现代替代品 尽管CVS在历史上扮演了重要角色,但它已逐渐被更现代的分布式版本...
常见的方法是使用正则表达式或CSV解析库来处理数据。例如,在Python中,你可以使用`csv`模块来读取和处理CSV文件。 在实际应用中,IP定位功能可以帮助网站和应用实现以下功能: 1. **内容本地化**:根据用户的位置...
这个方法为处理文本数据提供了极大的灵活性,尤其在解析CSV文件、配置文件或者任何格式化的文本数据时显得尤为重要。 ### 标题解读:“String.split()方法使用总结” 标题明确指出本文将围绕`String.split()`方法...
在实际应用中,一个完整的日志解析流程可能包括读取压缩文件、解压、分割日志条目、使用正则表达式或解析库提取信息、存储到数据库或分析平台,最后进行可视化和分析。对于4545这个文件名,可能是日志文件的编号或...
最后,为了便于后续的分析和利用,抓取到的正文数据可能被存储在数据库中,如MySQL、MongoDB等,或者是文件系统中,如CSV或JSON格式的文件。 总的来说,【通用论坛正文提取程序】是一个涉及网络爬虫技术、HTML解析...
1. 文件存储:文件存储是将数据存储在文件中的方式,文件存储方法包括文本文件存储、Excel文件存储、CSV文件存储等。 2. 数据库存储:数据库存储是将数据存储在数据库中的方式,数据库存储方法包括关系数据库存储、...