Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Stringreplace - Klassenbezeichnungen filtern

  Alt 1. Aug 2007, 00:03
Hallo Sven,

wenn die Elemente immer durch das Zeichen '=' getrennt werden, und für den Test auf Gleichheit alle Zeichen bis auf das letzte herangezogen werden, dann könnte der folgende Code funktionieren:

Delphi-Quellcode:
function Compress (const s: string): string;
var
  Item, OldPrefix, NewPrefix: string;
  Index: Integer;
begin
  with TStringList.Create do
    try
      Delimiter := '=';
      DelimitedText := s;
      OldPrefix := '';
      Result := '';
      for Index := 0 to Count - 1 do
        begin
          Item := Strings[Index];
          NewPrefix := Copy(Item, 1, Length(Item) - 1);
          if SameText(OldPrefix, NewPrefix) then
            Result := Result + Copy(Item, Length(Item), 1)
          else
            begin
              Result := Result + Item;
              OldPrefix := NewPrefix;
            end;
        end;
    finally
      Free;
    end;
end;

procedure Test;
begin
  ShowMessage (Compress('R8a=R8b=R9a=R9b=R9c='));
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat