我正在使用opencsv来读取csv文件。有时 csv 文件中有单引号或双引号。如何在不更改 csv 文件本身中的数据的情况下读取它们。
现在,如果我用两个单引号替换单引号,它可以正常工作,与双引号相同,用两个引号替换单个引号就可以工作。但我不想触摸源文件。
要访问的代码如下
CSVReader reader = new CSVReader(new InputStreamReader(new FileInputStream(file), "UTF-8"), delimiter,'"',0);
data = a1;b1;c1;hello"world;d1;e1
a2;b3;c2;hello"world;d2;e2
; is the delimiter
这样做的结果是跳过下一行,该行也包含双引号,插入所有奇
数行,其中跳过偶数行提前致谢
最终使用 javacsv。没有任何问题
解决方案 1 :您可以做的一件可能的事情,假设您不希望输出文件中出现双课程/单门课程。
- 阅读完整的文件并将所有不需要的特殊字符替换为空格。(使用正则表达式很简单)
- 现在使用 CSVReader 读取文件。
解决方案2:如果要保留所有特殊字符,请在特殊字符之前添加"\"反冲。 然后阅读它。