PRO split,string1,sep,nstr,strvar ; This program decodes a single line from a log of lines of ; comma-delimited data into an array of strings. IF n_params() ne 4 THEN BEGIN print,'split,string1,sep,nstr,strvar' print,' string1 = string of comma-delimited data' print,' sep = separator for parsing string' print,' nstr = number of data strings found' print,' strvar = strings found as a string array' print," Example: tidtowdk,str1,',',nstr,strvar" RETURN ENDIF strvar=strarr(50); array for comma-delimited strings ; print,string1 nchar=strlen(string1) ; print,'nchar = ',nchar i1=0; start of comma-delimited string istr=0; string counter FOR ich=0,nchar-1 DO BEGIN ch1=strmid(string1,ich,1) ; print,ich,' ',ch1 IF ch1 eq sep THEN BEGIN i2=ich-1 len1=i2-i1+1; length of string which just terminated ; print,i1,i2,len1 IF len1 eq 0 THEN strvar(istr)='' $ ELSE strvar(istr)=strmid(string1,i1,len1) istr=istr+1 i1=ich+1; start of next string ; print,strvar(istr-1) ENDIF ENDFOR IF ch1 ne sep THEN BEGIN; last argument is special i2=ich len1=i2-i1+1 strvar(istr)=strmid(string1,i1,len1) istr=istr+1; just to be consistent ENDIF ELSE BEGIN strvar(istr)='' istr=istr+1 ENDELSE ; print,strvar(istr-1) nstr=istr strvar=strvar(0:nstr-1); ; print,string1 ; FOR istr = 0,nstr-1 DO print,'istr: ',istr,', string: ',strvar(istr) END