我正在写一个工具,它接受一个csv文件的输入并创建一个新的csv文件作为输出,其中一些字段被修改。在某些情况下,输入csv文件在逗号前后嵌入了引号,例如:“a”,“b”,“c”,而在其他情况下,我直接使用a,b,c。我遇到的问题是,如果输入csv文件已嵌入引号,那么我希望生成的csv文件应该具有相同的嵌入引号。我知道我可以按如下控制在CSVWriter的构造函数此设置:如何检测输入csv文件是否嵌入了引号?
CSVWriter writer =
new CSVWriter(new FileWriter(csv), ',', CSVWriter.NO_QUOTE_CHARACTER)
但是,如何检测,我们有这种情况?我应该写一个正则表达式来计算引号字符的数量并将其与该计数进行比较,看它是否超过两倍?例如“a”,“b”,“c”有6个引号和2个逗号。
通常情况下,只有那些带有逗号的字符串被引用。例如。 *你好,世界*可能会出现为'“你好,世界”',但*你好世界*不会。我怀疑你应该在每场的基础上控制报价。 – OldCurmudgeon
实际上在我拥有的文件中,它要么是整行都嵌入了引号,要么根本没有嵌入引号 – Wael
每行或每个文件是否存在问题?另外,你是否可以连续使用不包含嵌入的引号? – Asoub