I have a variable and i want to extract data like example
var1
kjjhf-0fdf-dfed
asd-fdfk-dfcsf
I want to get data which is between the -
var1
0fdf
fdfk
It is a good idea to post your test data in the form of a datastep:
data have;
var1="kjd-fhf-asd"; output;
var1="dfsf-dfg-dwe"; output;
run;
data want;
set have;
want=catx(' ',substr(scan(var1,2,"-"),1,2),substr(scan(var1,2,"-"),3,1));
run;
SCAN() function
Scan(var, 2, '-');
sorry, i gave a incomplete question. i also want space after scanning like
var1
kjd-fhf-asd
dfsf-dfg-dwe
i want like this
var1
fh f
df g
Use substr() to extract the two parts and the CAT function to create new variable.
It is a good idea to post your test data in the form of a datastep:
data have;
var1="kjd-fhf-asd"; output;
var1="dfsf-dfg-dwe"; output;
run;
data want;
set have;
want=catx(' ',substr(scan(var1,2,"-"),1,2),substr(scan(var1,2,"-"),3,1));
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.