function str = splitaname(name) % str = splitaname(name); % Purpose: Split a name like 'duda234.mac' into {'duda',234,'mac'} % np = find(name=='.'); le = length(name); if le==0, str = {'','',''} return; end; if length(np)>1, np=np(1); end; if isempty(np), np = le; else, np = np-1; % without '.' end; if np==0, str = {'','',''} return; end; if le>(np+1), ext = name(np+2:le); else ext=''; end; % OK now we are talking, all the crummy cases being taken care of.... % find a number sentinal. nu = find(name>='0' & name<='9'); if isempty(nu), vers=0; nu = np+1; else vers = sscanf(name(nu(1):nu(length(nu))),'%i'); end; % find the ascii part. asc = name(1:nu(1)-1); str = {asc,vers,ext}; return;