data test(keep=Disaster);
set test1;
run;
Sample Output
Disaster
Hurricane Harvey
Hurricane Beula
Hurricane Agnes
Wildfires
If the variable begins with Hurricane I want to delete it and just show the word after the blank space. I looked at compress, trim, strip functions however no examples. How can I accomplish this ??
data have;
input disaster $20.;
datalines;
Hurricane Harvey
Hurricane Beula
Hurricane Agnes
Wildfires
;
data want;
set have;
if scan(disaster,1)='Hurricane' then _disaster=scan(disaster,2);
else _disaster=disaster;
run;
or with IFC function:
data want;
set have;
/*if scan(disaster,1)='Hurricane' then _disaster=scan(disaster,2);*/
/*else _disaster=disaster;*/
_disaster=ifc(scan(disaster,1)='Hurricane' , scan(disaster,2), disaster);
run;
I guess hurricanes usually receive one-word names. Just in case there is more than one word following "Hurricane" this might be a little safer:
data want;
set have;
if upcase(scan(disaster,1))='HURRICANE' then _disaster=substr(disaster,11);
else _disaster=disaster;
run;
or
data WANT;
set HAVE;
if upcase(DISASTER) =: 'HURRICANE ' then DISASTER = substr(DISASTER,11);
run;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
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!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.