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;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.