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;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.