da ich mir jetzt so ne Mühe gemacht habe ne Funktion zu Schreiben, poste ich sie jetzt trotzdem, obwohl sie nicht halb so elegant, wie die von Klaus01 ist.
Delphi-Quellcode:
function Kette( s:string; c: string; o:integer): Integer;
var
i, cnt, cnt2: Integer;
begin
cnt := 0; i:=0;
i := Posex( c, s, o);
while (i < length(s)) and (i > 0) do
begin
Inc( cnt);
if s[i+1] = s[i] then
begin
inc(i);
end
else
Break;
end;
if (i < Length( s)) and (i > 0) then
begin
cnt2 := Kette( s, c, i+1);
if cnt2 > cnt then cnt := cnt2+1;
end;
Result := cnt;
end;