function gettok,st,char, exact=exact, notrim=notrim ;---------------------------------------------------------------------- On_error,2 ;Return to caller compile_opt idl2 if N_params() LT 2 then begin print,'Syntax - token = gettok( st, char, [ /EXACT, /NOTRIM] )' return,-1 endif ; if char is a blank treat tabs as blanks if ~keyword_set(exact) then begin st = strtrim(st,1) ;Remove leading blanks and tabs if char EQ ' ' then begin tab = string(9b) if max(strpos(st,tab)) GE 0 then st = repchr(st,tab,' ') endif endif token = st ; find character in string pos = strpos(st,char) test = pos EQ -1 bad = where(test, Nbad, Complement = good, Ncomplement=Ngood) if Nbad GT 0 && ~keyword_set(notrim) then st[bad] = '' ; extract token if Ngood GT 0 then begin stg = st[good] pos = reform( pos[good], 1, Ngood ) token[good] = strmid(stg,0,pos) if ~keyword_set(notrim) then st[good] = strmid(stg,pos+1) endif ; Return the result. return,token end