using System;
using System.Linq;
using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var inputText = "substring1 delim+1 substring2 delim+2 substr3";
var delimeters = new List<string> { "delim+1", "delim+2" };
var addrArr = Regex.Split(inputText,
string.Format(@"\s+(?={0})", string.Join("|", delimeters.Select(Regex.Escape))));
Console.WriteLine(string.Join("\n", addrArr));
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7CnVzaW5nIFN5c3RlbS5JTzsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciBpbnB1dFRleHQgPSAic3Vic3RyaW5nMSBkZWxpbSsxIHN1YnN0cmluZzIgZGVsaW0rMiBzdWJzdHIzIjsKCQl2YXIgIGRlbGltZXRlcnMgPSBuZXcgTGlzdDxzdHJpbmc+IHsgImRlbGltKzEiLCAiZGVsaW0rMiIgfTsKCQl2YXIgYWRkckFyciA9IFJlZ2V4LlNwbGl0KGlucHV0VGV4dCwgCgkJCXN0cmluZy5Gb3JtYXQoQCJccysoPz17MH0pIiwgc3RyaW5nLkpvaW4oInwiLCBkZWxpbWV0ZXJzLlNlbGVjdChSZWdleC5Fc2NhcGUpKSkpOwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKHN0cmluZy5Kb2luKCJcbiIsIGFkZHJBcnIpKTsKCX0KfQ==