你会如何将这一行拆分为字符串数组?
问题是Rutois,因为你不能直接用','分隔符拆分..
543472,"36743721","Rutois, a.s.","151","some name","01341",55,"112",1
Run Code Online (Sandbox Code Playgroud)
谢谢
我建议您使用CSV解析器而不是自己滚动.
FileHelpers是一个很好的工作库.
您可以使用正则表达式从行中选择值:
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);
}
Run Code Online (Sandbox Code Playgroud)
输出:
543472
36743721
Rutois, a.s.
151
some name
01341
55
112
1
Run Code Online (Sandbox Code Playgroud)
这当然假设您实际上已经在字符串中获得了完整的CSV记录.请注意,在CSV记录值可以包含换行符,所以从CSV文件获取记录不能简单地拆分它换行来完成.