Вы можете сделать это с помощью регулярного выражения или с помощью простых строковых операций. Для последнего:
int lastDash = text.LastIndexOf('-');
string afterDash = text.Substring(lastDash + 1);
int dot = afterDash.IndexOf('.');
string data = dot == -1 ? afterDash : afterDash.Substring(0, dot);
Лично Мне легче понять и проверить это, чем регулярное выражение, но ваш пробег может отличаться.