我一直在尝试传递一个包含三个字段的 csv 文件。前两个字段很简单,很容易提取,问题在于第三个字段本质上是一个字符串,因此可以包含特殊字符,包括“,”它用于分隔字段。我尝试在两个'"'(双引号)之间包含字符串字段。但我的要求是简单字符串(没有特殊字符)可以在没有双引号的情况下存在。我还需要处理字符串中的下一行。下面是csv 文件的样本。
123,真的,这是备忘录
234,false,"这也是备忘录"
第345章,
456,真的,在我上面是一张空白的备忘录
567,false,"这有一个 ,
在里面”
678,true,This has a , in it <--- 这条记录应该被拒绝
789,假,“”
890,true,在我之上也是有效的空白备忘录
到目前为止,我使用了以下格式字符串 ^(""(?:[^""]|"""") ""|[^,] ),(""(?:[^""]|"" "") ""|[^,] )$
这种格式字符串的问题在于它不处理多行,并且不拒绝带有起始双引号但缺少结束双引号的字符串。
提前致谢。
感谢您的帮助,但我需要解析 CSV 中的自定义数据,并且必须创建自己的自定义解析器。我分别解析每个字段,并在小块中使用正则表达式字符串。