Итак, в итоге, если у вас есть шаблон, который вы можете применить к вашей строке, проще всего использовать регулярные выражения, как в примере с Guffa.
С другой стороны, у вас все время есть разные токены, чтобы определить начало и конец вашей строки, тогда вы должны использовать комбинацию IndexOf и LastIndexOf и передать токены в качестве параметра, делая пример от Фредрика немного более общим :
string GetMiddleString(string input, string firsttoken, string lasttoken)
{
int pos1 = input.IndexOf(firsttoken) + 1;
int pos2 = input.IndexOf(lasttoken);
string result = input.Substring(pos1 , pos2 - pos1);
return result
}
И это при условии, что ваши токены встречаются в строке только один раз.