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;
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.