¿Cómo conservar el delimitador cuando se usa string.Split()?


Supongamos que tenemos un string que representa una ecuación:

string ecuacion = "x^4-x^3-5x^2-x-6"; 

Y tenemos unos delimitadores:

char[] delimitadores = new char[] { '-', '+', '*', '/' }; 

Si usamos string.Split(); para separar los módulos entre sí en una lista de la siguiente forma :

List<string> subEcuaciones = new List<string>(); subEcuaciones = ecuacion.Split(delimitadores, StringSplitOptions.None).ToList(); 

El resultado que obtenemos es :

x^4 x^3 5x^2 x 6 

Sin embargo me gustaría conservar el delimitador, es decir, obtener como resultado:

 x^4 -x^3 -5x^2 -x -6 

¿Existe alguna configuración para conservar los delimitadores?