首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

String.Splite()的有关问题

2012-04-26 
String.Splite()的问题Splite在拆分字符串时非常有用,但我在处理CSV文件时遇到问题,CSV文件是用逗号,来

String.Splite()的问题
Splite在拆分字符串时非常有用,但我在处理CSV文件时遇到问题,CSV文件是用逗号","来分列的,如下:
张三,男,20,这小子不是好人
这种情况用splite函数处理是没有问题题,但有时值中会含有逗号,这时excel会用引号把值包起来,如下:
张三,男,20,"这小子是个党员,不是好人"
这种情况简单用Splite处理就不行了,虽然自己写代码分析也能处理,但很烦,最主要是容易出错,埋下隐患,有没有什么简单的处理方法?

[解决办法]
坐等高手,貌似正则可以。。
[解决办法]

C# code
        string s = @"张三,男,20,""这小子是个党员,不是好人""";        string[] rs = Regex.Split(s, @"(?<=^\w+|,\w+),");        foreach (string r in rs)            Console.WriteLine(r.Trim('"'));
[解决办法]
楼上正解,这样得用正则。
[解决办法]
探讨

或者直接这样:
C# code
string s = @"张三,男,20,""这小子是个党员,不是好人""";
string[] rs = Regex.Split(s, @"(?<=^\w+|,\w+)[,""]+");
foreach (string r in rs)
Response.Write(r + "<br/>……

热点排行