Registriert seit: 3. Aug 2021
Ort: Erfurt
41 Beiträge
Delphi 11 Alexandria
|
AW: Strings zusammenführen und Bereinigen
8. Mai 2023, 11:27
Delphi-Quellcode:
Uses
Generics.Collections,
System.SysUtils;
Type TIntegerList = TList<Integer>;
Type TIntegerListHelper = Class Helper for TIntegerList
public
Function ToString : String;
end;
Function TIntegerListHelper.ToString : String;
Var
i : Integer;
begin
Result := '[';
for i := 0 to Count-1 do
begin
Result := Result + Items[i].ToString;
if (i<Count-1) then Result := Result + ', ';
end;
Result := Result + ']';
end;
Procedure AddToIntegerList(Var IntegerList:TIntegerList; aString:String);
Var
StringArray : TArray<string>;
i : integer;
Value : Integer;
begin
StringArray := aString.Split([',']);
for I := 0 to High(StringArray) do
begin
Value := StrToInt(StringArray[i]);
if (IntegerList.IndexOf(Value)=-1)
then IntegerList.Add(Value);
end;
end;
Procedure CreateIntegerList;
Var IntegerList : TIntegerList;
begin
IntegerList := TIntegerList.Create;
AddToIntegerList(IntegerList,'1,2,4,6,9');
AddToIntegerList(IntegerList,'1,3,6,9,10,11');
AddToIntegerList(IntegerList,'2,3,4,9,10');
IntegerList.Sort;
Writeln(IntegerList.ToString);
IntegerList.Free;
end;
Die Ausgabe sieht dann wie folgt aus:
Code:
[1, 2, 3, 4, 6, 9, 10, 11]
Eventuell noch eine try .. except um StrToInt, wenn Du dir nicht sicher bist, dass nur Zahlen im String sind.
Wolfgang
|
|
Zitat
|