C# CSV文件解析问题

C# CSV文件解析问题,c#,csv,import,C#,Csv,Import,我正在尝试读取CSV文件,并在一定程度上取得了成功 我试过了 string[]value=strurline.Split(',') 我得到的输出是 array[0]="180" array[1]="LMN" array[2]="8" array[3]="5/17/2012 15:00" array[4]="" array[5]="name" array[6]="2nd row" array[7]="step 2 from 4 to 2" array[8]="7/9

我正在尝试读取CSV文件,并在一定程度上取得了成功

我试过了

string[]value=strurline.Split(',')

我得到的输出是

array[0]="180"  
array[1]="LMN"  
array[2]="8"  
array[3]="5/17/2012 15:00"  
array[4]=""  
array[5]="name"  
array[6]="2nd row"  
array[7]="step 2 from 4 to 2"  
array[8]="7/9/2012  8:47:00 AM"  
但当我试图读取一个包含(逗号)的内容时,它会提供额外的数组项,因此我丢失了数据。如何替换字符串中的逗号(,)

我的预期产出是

array[0]="180"  
array[1]="LMN"  
array[2]="8"  
array[3]="5/17/2012 15:00"  
array[4]=""  
array[5]="name"  
array[6]="2nd row, step 2 from 4 to 2"  
array[7]="7/9/2012  8:47:00 AM"  

请建议

您遇到了所谓的“分隔符冲突”

您需要更改分隔符本身,或者更改要在其中添加逗号的位置

要替换字符串的某些部分,可以使用string.replace()-但在这种情况下,这并不能真正帮助您,因为它会破坏您的csv文件

因此,我建议如下:

在文件中使用不同的csv分隔符(即使它被称为csv,您也可以用制表符或分号来分隔它们)——这是您不希望出现在数据中的。如果您完全控制csv,您可以使用自己的分隔符(可能、、或类似的东西)


给逗号加上某种“例外”。例如,使用\、或、、来定义逗号。然后您可以字符串。将整个csv文件替换为临时字符,并在完成后将其替换回逗号。

检查这里,我得到了问题的答案

答复


谢谢,编码愉快。

谢谢Haedrian的快速回复,我非常感谢。我在这里找到了我问题的答案