Napisze schematycznie..
Jeżeli masz je wpakowane do TStringList to lecisz po kolejnych stringach i w każdym robisz pętle, czy każdy znak to cyfra (najprościej przez "ORD") - jeśli tak, to kopiujesz string do danej listy osobnej) i z tej usuwasz. Na końcu, na drugiej będą tylko z cyframi, a na aktualnej - pozostałe. Najprościej sprawdzać od końca, jeśli ma miejsce usuwanie stringów.
Chyba łatwiej sprawdzać poprzez np. StrToInt() + try except.
To jest powód, dlaczego należy od Pascala zaczynać, a nie od Delphi (choć przyznaję, że sam zaczynałem).
Zamiast takiej kombinacji stosuj Val. StrToInt jedynie wywołuje Val i jeżeli nastąpi błąd to wywoła wyjątek. Stosując Val omijamy wywołanie StrToInt i co najważniejsze try..except. Jeżeli spojrzałbyś do skompilowanego kodu, wiedziałbyś, dlaczego należy używać try..except tylko wtedy, gdy inaczej zastąpić się nie da lub byłoby to trudne albo zwiększało znacznie złożoność programu.