Non devi sempre andare indietro, appena trovi un carattere che non è tra i 3 che cerchi, il while deve terminare. E quindi devi avere la lunghezza accorciata solo fino a quel punto.