Como se menciona en @Davy8, no hay un camino incorporado. Aquí hay un ejemplo MUY simple para comenzar a escribir un método personalizado.
void Main()
{
string text = "Hello, how are you?";
List<SplitDefinition> splitDefinitionList = CustomSplit(text, new char[] { 'h', 'o' });
}
public List<SplitDefinition> CustomSplit(string source, char[] delimiters)
{
List<SplitDefinition> splitDefinitionList = new List<SplitDefinition>();
foreach(char d in delimiters)
{
SplitDefinition sd = new SplitDefinition(d, source.Split(d));
splitDefinitionList.Add(sd);
}
return splitDefinitionList;
}
public class SplitDefinition
{
public SplitDefinition(char delimiter, string[] splits)
{
this.delimiter = delimiter;
this.splits = splits;
}
public char delimiter { get; set; }
public string[] splits { get; set; }
}
Es imposible obtener los delimitadores de la matriz de cadenas divididas. –