Extrair parte de uma sequência entre os pontos A e B

Estou tentando extrair algo de um email. O formato geral do email será sempre:

blablablablabllabla hello my friend.

[what I want]

Goodbye my friend blablablabla

Agora eu fiz:

                    string.LastIndexOf("hello my friend");
                    string.IndexOf("Goodbye my friend");

Isto me dará um ponto antes de começar e um ponto depois de começar. Que método posso usar para isso? Eu encontrei

String.Substring(Int32, Int32)

Mas isso toma apenas a posição inicial.

O que posso usar?

questionAnswers(10)

yourAnswerToTheQuestion