Matthew Hipkin
PHP style explode function for Delphi
Download: http://www.matthewhipkin.co.uk/programs/explodefunc.tar.gz
This is a very useful function to have, requires less effort than using a TStrings CommaText value.
(Originally found here.)
type TArray = array of string; function explode(cDelimiter, sValue : string; iCount : integer) : TArray; var s : string; i,p : integer; begin s := sValue; i := 0; while length(s) > 0 do begin inc(i); SetLength(result, i); p := pos(cDelimiter,s); if ( p > 0 ) and ( ( i < iCount ) OR ( iCount = 0) ) then begin result[i - 1] := copy(s,0,p-1); s := copy(s,p + length(cDelimiter),length(s)); end else begin result[i - 1] := s; s := ''; end; end; end; end.
Example usage:
var s: String; i: integer; a: TArray; begin s := 'hello,there,how,are,you?'; a := explode(',',s,0); for i := 0 to High(a) do writeln(a[i]); end.blog comments powered by Disqus