data test;
length var $100;
var="AAA123BBB22CC555";output;
var="123AAABBBCC333DD2244DDD"; output;
run;
proc sql noprint;
select max(length(var)) into: num
from test;
quit;
data wanted;
set test;
array subvar[*] $1. var1-var%left(&num);
do i=1 to length(var);
if substr(var,i,1) in ('1','2','3','4','5','6','7','8','9','0') then subvar[i]=substr(var,i,1);
else subvar[i]='';
end;
newvar=cat(of var1-var%left(&num));
keep newvar;
run;