StringTokenizer ou Split()?

Pessoal, quero tirar uma parte de uma string, so que as vezes pode ser 1 ou 2 ou 3 caracteres, só que depois de cada um tem o caracter “-”, tipo o formato da String podem ser assim:

112345-REDES
2156102-IA
32431-MATEMATICA

quero tirar a partir da 5 letra até o “-”, tem algum método q passe como argumento a posição inicial e o outro um certo caracter???

tipo: método(palavra, 5,"-"); ou palavra.metodo(5,"-");

String x = palavra.substring(5,palavra.indexOf("-"))

OBRIGADA!