Hi All,
Please help me to find out the solution for this ...
Comment is my variable ... i would like to extract only the Digit from the comment .For example from the first line i need to extract 150 and from the second i want to extract 100 and so on .I tried with anydigit option but its not working as it only show 1 or 0 if there is any digit in the below comment.My date set large and have more than 10000 comments like this .
43534-PP - ABCDEF 150 ABC ABCD
07052-TT - ABCD 100 ABCDEFG
83092-DD - ABCDEFG 540 ABCDEFRGTH
Regards
kanchan
This seems working on your as-is data:
DATA TEST;
INFILE CARDS TRUNCOVER;
INPUT VAR $100.;
DIGITS=prxchange('s/^\d+\D+|\D+$//o',-1,var);
CARDS;
43534-PP - ABCDEF 150 ABC ABCD
07052-TT - ABCD 100 ABCDEFG
83092-DD - ABCDEFG 540 ABCDEFRGTH
;
Haikuo
Or just use scan, nice one xia keshan.
Alternatively, without perl:
data test;
infile cards truncover;
input var $100.;
digits=compress(scan(var,3,'-'),' ','a');
cards;
43534-PP - ABCDEF 150 ABC ABCD
07052-TT - ABCD 100 ABCDEFG
83092-DD - ABCDEFG 540 ABCDEFRGTH
;
run;
DATA TEST;
INFILE CARDS TRUNCOVER;
INPUT VAR $100.;
DIGITS=scan(var,2,,'kd');
CARDS;
43534-PP - ABCDEF 150 ABC ABCD
07052-TT - ABCD 100 ABCDEFG
83092-DD - ABCDEFG 540 ABCDEFRGTH
;
run;
Xia Keshan
Nice. Never see 'kd' option in SCAN(). Thanks for sharing!
Well in this case, depending on OP's rules, DIGITS=scan(var,-1,,'kd'); will also be OK.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.