代码改变世界

正则表达式分割字符串但是不分割字符串中引号中间的数据

2012-08-15 17:42  蓝之风  阅读(3348)  评论(2编辑  收藏  举报

如果的数据是这样

11211,210161,"SHRINK FILM, 23 W X .0015MIL",49.95,RM1 ,1

需要处理成如下格式的数据:

11211

210161

"SHRINK FILM, 23 W X .0015MIL"

49.95

RM1

1

这样在.net  中Split方法就不能使用了,就需要借助正则表达式来完成,可以这么写:

 string str="11211,210161,\"SHRINK FILM, 23 W X .0015MIL\",49.95,RM1 ,1";        
    string[] result = Regex.Split(str, "(?<!\"[^,]+),(?![^,]+\")");
    foreach (string s in result)
    {
    Console.WriteLine(s);
    }
    Console.ReadKey();          

输出结果如下:

image