您如何将这一行拆分为字符串数组?

问题是Rutois,a.s. ,因此您不能直接使用','分隔符进行拆分。

543472,"36743721","Rutois, a.s.","151","some name","01341",55,"112",1


谢谢

最佳答案

您可以使用正则表达式从该行中选择值:

string line ="543472,\"36743721\",\"Rutois, a.s.\",\"151\",\"some name\",\"01341\",55,\"112\",1";
var values = Regex.Matches(line, "(?:\"(?<m>[^\"]*)\")|(?<m>[^,]+)");
foreach (Match value in values) {
  Console.WriteLine(value.Groups["m"].Value);
}


输出:

543472
36743721
Rutois, a.s.
151
some name
01341
55
112
1


当然,这假设您实际上已经在字符串中获得了完整的CSV记录。请注意,CSV记录中的值可以包含换行符,因此仅通过在换行符上拆分它就无法从CSV文件获取记录。

关于c# - CSV行拆分为字符串数组问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3537884/

10-10 10:14
查看更多