using System.Text.RegularExpressions;
string example = @"a ""b"" c d ""e f"" g h i";
Console.WriteLine("Quoted Content...");
MatchCollection matches = Regex.Matches(example, @""".*?""");
foreach (Match match in matches)
Console.WriteLine($"Match: {match.Value} Index: {match.Index}");
Console.WriteLine("Non Quoted Content...");
string[] splits = Regex.Split(example, @""".*?""").Where(x => !string.IsNullOrWhiteSpace(x)).ToArray();
foreach (string s in splits)
Console.WriteLine("White space splits...");
foreach (string nonquotedContent in splits)
string[] whiteSpaceSplits = Regex.Split(nonquotedContent, @"\s+").Where(x => !string.IsNullOrWhiteSpace(x)).ToArray();
foreach (string whiteSpaceSplit in whiteSpaceSplits)
Console.WriteLine(whiteSpaceSplit);
Console.WriteLine("Press [Enter] to continue...");