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