Non c'è nulla che faccia quello che vuoi perché un dato alfanumerico non è un numero.
Le regole per manipolare parti numeriche potrebbero essere molto diverse e hai fatto bene a gestire la cosa da solo.
Sull'eleganza, dipende da con hai scritto il codice ...