Splite在拆分字符串时非常有用,但我在处理CSV文件时遇到问题,CSV文件是用逗号","来分列的,如下:
张三,男,20,这小子不是好人
这种情况用splite函数处理是没有问题题,但有时值中会含有逗号,这时excel会用引号把值包起来,如下:
张三,男,20,"这小子是个党员,不是好人"
这种情况简单用Splite处理就不行了,虽然自己写代码分析也能处理,但很烦,最主要是容易出错,埋下隐患,有没有什么简单的处理方法?
张三,男,20,这小子不是好人
这种情况用splite函数处理是没有问题题,但有时值中会含有逗号,这时excel会用引号把值包起来,如下:
张三,男,20,"这小子是个党员,不是好人"
这种情况简单用Splite处理就不行了,虽然自己写代码分析也能处理,但很烦,最主要是容易出错,埋下隐患,有没有什么简单的处理方法?
string[] rs = Regex.Split(s, @"(?<=^\w+|,\w+),");
foreach (string r in rs)
Console.WriteLine(r.Trim('"'));
string s = @"张三,男,20,""这小子是个党员,不是好人""";
string[] rs = Regex.Split(s, @"(?<=^\w+|,\w+)[,""]+");
foreach (string r in rs)
Response.Write(r + "<br/>");