public static void Main()
Console.WriteLine("Sammy".TrimEnd("my"));
Console.WriteLine("My o My".TrimEnd("My"));
Console.WriteLine("My o My".TrimStart("My"));
Console.WriteLine("moinmoin gibts gips? gips gibts moin".TrimStart("moin", false));
Console.WriteLine("moinmoin gibts gips? gips gibts moin".TrimStart("moin", true).TrimEnd("moin").Trim());
public static class Extension
public static string TrimEnd(this string str, string trimStr, bool repeatTrim=false)
if (!str.EndsWith(trimStr)) return str;
var spl = str.Split(new string[] { trimStr }, StringSplitOptions.None);
str = string.Join(trimStr, spl, 0, spl.Count() - 1);
} while (repeatTrim && strLen>str.Length);
public static string TrimStart(this string str, string trimStr, bool repeatTrim=false)
if (!str.StartsWith(trimStr)) return str;
var spl = str.Split(new string[] { trimStr }, 2, StringSplitOptions.None);
str = string.Join(trimStr, spl, 1, 1);
} while (repeatTrim && strLen > str.Length);