Obter string entre duas strings em uma string

Eu tenho uma string como:

"super exemple of string key : text I want to keep - end of my string"

Eu quero apenas manter a string que está entre"key : " e" - ". Como eu posso fazer isso? Devo usar um Regex ou posso fazê-lo de outra maneira?