Ich finde, der String-Helper macht das schon ganz gut:
Delphi-Quellcode:
procedure Main;
Var
S : String;
A : TArray<String>;
begin
S := 'Frank;Pet'+#0+'er;Elke';
A := S.Split([';']);
Assert(Length(A) = 3);
S := 'Frank;Delimiter können ";" oder auch ",";sein';
A := S.Split([';',','], '"', '"');
Assert(Length(A) = 3);
end;