(phixonline)--> with javascript_semantics procedure multisplit(string text, sequence delims) integer k = 1, kdx while true do integer kmin = 0 for i=1 to length(delims) do integer ki = match(delims[i],text,k) if ki!=0 then if kmin=0 or ki<kmin then kmin = ki kdx = i end if end if end for string token = text[k..kmin-1], delim = iff(kmin=0?"":sprintf(", delimiter (%s) at %d",{delims[kdx],kmin})) printf(1,"Token: [%s] at %d%s\n",{token,k,delim}) if kmin=0 then exit end if k = kmin+length(delims[kdx]) end while end procedure multisplit("a!===b=!=c",{"==","!=","="})