data have;
input var $30.;
cards;
THE CLIFTON_ABCD
THE FOODIE BA_ABCD
THE HOME UBON_ABCD
MAKRONO_ABCD
;
data want;
set have;
length want $50;
if countw(var,' ')>1 then want=substr(var,1,prxmatch('/\b[a-z]+_ABCD\b/i', var)-1);
else want=var;
run;
data have;
input var $30.;
cards;
THE CLIFTON_ABCD
THE FOODIE BA_ABCD
THE HOME UBON_ABCD
MAKRONO_ABCD
;
data want;
set have;
length want $50;
if countw(var,' ')>1 then want=substr(var,1,prxmatch('/\b[a-z]+_ABCD\b/i', var)-1);
else want=var;
run;
Another approach, also using a pearl regular expression:
data have;
input name $50.;
cards;
THE CLIFTON_ABCD
THE FOODIE BA_ABCD
THE HOME UBON_ABCD
MAKRONO_ABCD
;
data want;
set have;
length name2 $30;
name2 = prxchange('s/(.+)\b.+_ABCD/$1/',-1,name);
run;
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss. Register now and save with the early bird rate—just $795!