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 lock in 2025 pricing—just $495!