Removing prefixes and suffixes from words in C#

c#, c#-4.0

Solution

My StringHelper class has (among others) methods TrimStart, TrimEnd and StripBrackets, that can be useful for you

//'Removes the start part of the string, if it is matchs, otherwise leave string unchanged
    //NOTE:case-sensitive, if want case-incensitive, change ToLower both parameters before call
    public static string TrimStart(this string str, string sStartValue)
    {
        if (str.StartsWith(sStartValue))
        {
            str = str.Remove(0, sStartValue.Length);
        }
        return str;
    }
    //        'Removes the end part of the string, if it is matchs, otherwise leave string unchanged
    public static string TrimEnd(this string str, string sEndValue)
    {
        if (str.EndsWith(sEndValue))
        {
            str = str.Remove(str.Length - sEndValue.Length, sEndValue.Length);
        }
        return str;
    }
//        'StripBrackets checks that starts from sStart and ends with sEnd (case sensitive).
//        'If yes, than removes sStart and sEnd.
//        'Otherwise returns full string unchanges
//        'See also MidBetween
        public static string StripBrackets(this string str, string sStart, string sEnd)
        {
            if (StringHelper.CheckBrackets(str, sStart, sEnd))
            {
                str = str.Substring(sStart.Length, (str.Length - sStart.Length) - sEnd.Length);
            }
            return str;
        }

Problem

I have a string of words and I want to remove a number of suffixes and prefixes (which are located in an array) from each word, then store back the stemmed words in a string. Is there any per-suggestion please? thanks in advance. The total number of suffixes and prefixes is more than 100, what the better to represent them? Array? Regex? Is there any suggestion please ? ``` public static string RemoveFromEnd(this string str, string toRemove) { if (str.EndsWith(toRemove)) return str.Substring(0, str.Length - toRemove.Length); else return str; } ``` This can work with suffixes, how about the prefixes? Is there a fast way to do for both suffixes and prefixes at one time? My string is too long.

Original source