Du könntest in einem
try ... except
Block zeichenweise prüfen, ob das betreffende Zeichen in deinem string eine Ziffer ist oder nicht, und mitzählen, wieviele Ziffern du bereits aufeinanderfolgend hattest.
Kommst du auf eine Nicht-Ziffer, setzt du deinen Zähler wieder auf 0 zurück.
Hier mein Lösungsvorschlag:
Delphi-Quellcode:
function longestNumber(s : string) : word;
var run , number, tempresult, ziffer : byte;
zifferGefunden : boolean;
test : string;
begin
number := 0;
tempresult := 0;
zifferGefunden := FALSE;
for run := 1 to length(s) do
begin
test := s[run];
try
ziffer := strtoInt(test);
inc(tempresult);
if number < tempresult then
number := tempresult;
except
tempresult := 0;
end;
end;
longestNumber := number;
end;