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;
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.