data have; string="Heart: Normal heart muscle colon (maximal wall thickness = 15mm). Normal aorta (maximal wall thickness = 1.6mm). Lung: Normal lung (maximal wall thickness = 1.9mm), however movement is absent from the distal part. Other: Reactive lymphadenopathy is seen . No complications of disease were noted."; id1=prxparse('/\d+.?\d+\w+/'); id2=prxparse('/(?<=Normal )((\S+ ){1,3})(?=\()/'); start1=1; start2=1; end=length(string); call prxnext(id2,start2,end,string,position2,length2); call prxnext(id1,start1,end,string,position1,length1); do while(position1>0); Name=substr(string,position2,length2); Number=substr(string,position1,length1); output; call prxnext(id2,start2,end,string,position2,length2); call prxnext(id1,start1,end,string,position1,length1); end; keep name number; run; proc print;run;
... View more