String split c# but ignore some cases

Solution 1:

You could do a regex split on the pattern COMPONENT(?!_):

string[] splitComponents(string a)
{
    return Regex.Split(a, @"COMPONENT(?!_)");
}