您如何将这一行拆分为字符串数组?
问题是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/