using System; using System.Linq.Expressions; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; public class Test { public static void Main() { string pattern = @"([A-Za-z0-9.]+)|#([^#]+)#|\[([^][]+)]"; string input = @"add galaxy [Milky way] elliptical 13.2B #test test #"; string[] items = Regex.Split(input, pattern).Where(x => !string.IsNullOrWhiteSpace(x)).ToArray(); foreach (string item in items) { Console.WriteLine(item); } } }