using System; using System.Linq; using System.Text.RegularExpressions; public class Test { static string regExp = "(((?(?=[,\\r\\n]+))|\"(?([^\"]|\"\")+)\"|(?[^,\\r\\n]+)),?)"; public static void Main() { var line = ",\"clean text\",\"with,embedded,commas.\",\"with\"\"embedded\"\"double\"\"quotes\",,\"6.1\","; var vals= (from Match m in Regex.Matches(line, regExp, RegexOptions.ExplicitCapture) select m.Groups[1].Value).ToArray(); Console.WriteLine(""); foreach(var s in vals) Console.WriteLine(s); Console.WriteLine(""); } }