Hello,
I have a string of characters and I need those values in parentheses.
data title;
input title $20.;
datalines;
National Geography (NG)
Time (T)
National Food and Energy Council (NFC)
Food and Drug Administration (FDA)
National Hockey League (NHL)
National Football League (NFL)
;
run;
The results I want are:
NG
T
NFC
NHL
NFL
Thanks for the help!
This takes the first set of characters in parentheses, and doesn't consider whether there might be other sets of parentheses:
newvar = scan(oldvar, 2, '()');
If they always are at the end this is a quicky:
newTitle = compress(reverse(scan(reverse(title),1)),'()');
Untested, but should work 🙂
//Fredrik
Thanks for reply. It works !
This takes the first set of characters in parentheses, and doesn't consider whether there might be other sets of parentheses:
newvar = scan(oldvar, 2, '()');
Thanks for that! It works!
data title; input title $40.; if findc(title,')','b')=length(title) then want=scan(title,-1,'() ') ; datalines; National Geography (NG) Time (T) National Food and Energy Council (NFC) Food and Drug Administration (FDA) National Hockey League (NHL) National Football League (NFL) ; 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.