Warum gehst du nicht einfach den Text von vorne bis hinten durch und zählst mit einem Counter die anzahl sonderzeichen:
Delphi-Quellcode:
var i,cnt,max:integer;
s:string;
//
cnt:=0;
max:=2;
s:='';
for i:=1 to length(text)
begin
s:=s+text[i];
if (text[i]='.') or (text[i]='!') or (text[i]='?') then
begin
Inc(cnt);
if cnt=max then
begin
s:=s+CHR(13)+CHR(10);
if (max=2) then max:=3;
cnt:=0;
end;
end
end
//
Result:=s;