using System;
using System.Text.RegularExpressions;
using System.Collections.Specialized;
class Program
{
static void Main() {
string s1 = @"max,""emily,kate"",john";
var myRegex = new Regex(@"""[^""]*""|(,)");
string replaced = myRegex.Replace(s1, delegate(Match m) {
if (m.Groups[1].Value == "") return m.Value;
else return "SplitHere";
});
string[] splits = Regex.Split(replaced,"SplitHere");
foreach (string split in splits) Console.WriteLine(split);
Console.WriteLine("\nPress Any Key to Exit.");
Console.ReadKey();
} // END Main
} // END Program
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CnVzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZDsKY2xhc3MgUHJvZ3JhbQp7CnN0YXRpYyB2b2lkIE1haW4oKSAgewpzdHJpbmcgczEgPSBAIm1heCwiImVtaWx5LGthdGUiIixqb2huIjsKdmFyIG15UmVnZXggPSBuZXcgUmVnZXgoQCIiIlteIiJdKiIifCgsKSIpOwpzdHJpbmcgcmVwbGFjZWQgPSBteVJlZ2V4LlJlcGxhY2UoczEsIGRlbGVnYXRlKE1hdGNoIG0pIHsKICAgIGlmIChtLkdyb3Vwc1sxXS5WYWx1ZSA9PSAiIikgcmV0dXJuIG0uVmFsdWU7CiAgICBlbHNlIHJldHVybiAiU3BsaXRIZXJlIjsKICAgIH0pOwpzdHJpbmdbXSBzcGxpdHMgPSBSZWdleC5TcGxpdChyZXBsYWNlZCwiU3BsaXRIZXJlIik7CmZvcmVhY2ggKHN0cmluZyBzcGxpdCBpbiBzcGxpdHMpIENvbnNvbGUuV3JpdGVMaW5lKHNwbGl0KTsKQ29uc29sZS5Xcml0ZUxpbmUoIlxuUHJlc3MgQW55IEtleSB0byBFeGl0LiIpOwpDb25zb2xlLlJlYWRLZXkoKTsKfSAvLyBFTkQgTWFpbgp9IC8vIEVORCBQcm9ncmFt