拆分字符串和CSV C#

时间:2011-12-01 16:00:51

标签: c# csv split

我写了一个将字符串导出到.csv

的导出器

事情是,其中一些字符串已经有逗号:

2 CAR MODELS, 5 TEAMS,2 CAR MODELS, 5 TEAMS

您会看到手工添加到字符串中的逗号后面有一个空白区域。我添加的那个没有空格。

我已编写代码来读取字符串并将其拆分:

while ((line = stringReader.ReadLine()) != null)
        {
            // split the string at each comma
            string[] split = line.Split(new char[] { ',' });

我需要的是将字符串拆分为“,”而不是“,”。

有什么想法吗?

我无法使用任何第三方代码:

http://www.codeproject.com/KB/database/CsvReader.aspx

3 个答案:

答案 0 :(得分:3)

您可以使用TextFieldParser - 它位于Microsoft.VisualBasic.FileIO命名空间中,因此不是“thirdparty”。

答案 1 :(得分:1)

您可以考虑使用Regex.Split(String arg1, String arg2)。它应该允许您根据正则表达式拆分字符串。

然后你可以使用这样的正则表达式:

,[^\s]+

这应该允许您拆分具有逗号但未跟随一个或多个空格的值。

答案 2 :(得分:1)

您可以在System.Text.RegularExpressions命名空间中使用Regex.Split执行此操作。

http://msdn.microsoft.com/en-us/library/b5k3ak3e.aspx