using System; using System.Collections.Generic; using System.Text.RegularExpressions; using System.Linq; public class Test { public static void Main() { var s = "&RPork && Beans&CDocument Title"; var result = Regex.Split(s, "(&[LRC])") .Where(x => !string.IsNullOrWhiteSpace(x)) .ToList(); var data = result.Where((c,i) => i % 2 == 0).Zip(result.Where((c,i) => i % 2 != 0), (delimiter, value) => new KeyValuePair(delimiter, value)); foreach (var kvp in data) Console.WriteLine("Delimiter: {0}\nValue: {1}", kvp.Key, kvp.Value); } }