我正在尝试阅读CSV文件,我在某种程度上取得了成功。
我试过
string[] values = strCurLine.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"
请建议
答案 0 :(得分:1)
你已经遇到了所谓的“分隔符碰撞”
您需要更改分隔符本身或要放入逗号的位置。
要替换部分字符串,您可以使用String.Replace() - 但在这种情况下这不会真正帮助您,因为它会破坏您的csv文件。
所以我建议如下:
在文件中使用不同的csv分隔符(即使它被称为csv,您可以使用制表符或分号分隔它们) - 这是您不希望在数据中出现的内容。如果你完全控制了csv,你可以放置自己的分隔符(也许,或类似的东西)
或
对逗号添加某种“异常”。例如,使用\或或来定义逗号。然后你可以将整个csv文件的字符串替换为临时字符 - 并在完成后将其交换为逗号。
答案 1 :(得分:0)
点击这里,我回答了我的问题
谢谢,快乐的编码。