Jag har lyckats skriva en funktion som delar upp en sträng till en array of string. Men jag vill inte att koden ska bry sig om ifall det är ett, två eller 110 mellanslad mellan orden och inte hller om det är tab i mellan orden.
Hur ska jag göra det?
OCh finns det något bättre sätt att göra det här på?
type
TStringArray = array of String;
function Explode(S, Separator: String): TStringArray;
var
I: Integer;
buffer: string;
blocks: integer;
A: TStringArray;
begin
blocks := 0;
SetLength(A, blocks);
for i := 1 to length(S) do
begin
if S[i] = separator then
begin
SetLength(A, blocks+1);
A[blocks] := Buffer;
Buffer := '';
Inc(blocks);
end
else
Buffer := Buffer + S[i];
end;
// Add the last block to the array (if there is no separator on the end)
SetLength(A, blocks+1);
A[blocks] := Buffer;
Result := A;
end;