Mix of recursion and regex
using System;
using System.Text.RegularExpressions;
namespace CPTrimmer
{
class Program
{
static void Main(string[] args)
{
string startVal = "dog cat monkey dog horse dog";
string[] toTrim = { "dog", "cat" };
Stripper(ref startVal, toTrim);
Console.WriteLine(startVal);
Console.ReadLine();
}
static void Stripper(ref string input, string[] toTrim)
{
foreach (string trimVal in toTrim)
{
Regex start = new Regex(@"\A[ ]{0,}"+trimVal);
if (start.IsMatch(input))
{
input = start.Replace(input, "");
Stripper(ref input, toTrim);
}
Regex end = new Regex(trimVal + @"[ ]{0,}\Z");
if (end.IsMatch(input))
{
input = end.Replace(input, "");
Stripper(ref input, toTrim);
}
}
}
}
}