using System.Text.RegularExpressions;
public static void Main()
foreach (var part in Split("Some text {MACRO(parameter1)} more text {MACRO(parameter2)}"))
Console.WriteLine(">" + part + "<");
public static string[] Split(string input)
var regex = new Regex(@"{MACRO\(([^})]*)\)}");
var lines = regex.Split(input);