I want to extract the first numeric substring that shows up in a character variable. For example,
data have;
infile datalines delimiter = "," missover;
input string $;
datalines;
abc 12345 &*ag21
bld#5432
8642 12 asd
kmdsf 657
run;
data want;
length string $30. substring $30.;
infile datalines dsd dlm='|' truncover ;
input string $ substring $;
datalines;
abc 12345 &*ag21|12345
bld#5432|5432
8642 12 asd|8642
kmdsf 657|657
run;Is there a good way to do this in a data step?
You want to look at PRXPOSN Function - Extracting First and Last Names
data have;
infile datalines delimiter = "," missover;
input string $;
datalines;
abc 12345 &*ag21
bld#5432
8642 12 asd
kmdsf 657
run;
data results ;
length string $30. substring $30.;
infile datalines dsd dlm='|' truncover ;
input string $ substring $;
datalines;
abc 12345 &*ag21|12345
bld#5432|5432
8642 12 asd|8642
kmdsf 657|657
run;
data wamt ;
retain patternID ;
set have ;
if _n_=1 then do ;
patternID=prxparse('/([0-9]+)/') ;
end ;
found=prxmatch(patternID,string) ;
want=prxposn(patternID,1,string) ;
put string= found= want= ;
run ;
You want to look at PRXPOSN Function - Extracting First and Last Names
data have;
infile datalines delimiter = "," missover;
input string $;
datalines;
abc 12345 &*ag21
bld#5432
8642 12 asd
kmdsf 657
run;
data results ;
length string $30. substring $30.;
infile datalines dsd dlm='|' truncover ;
input string $ substring $;
datalines;
abc 12345 &*ag21|12345
bld#5432|5432
8642 12 asd|8642
kmdsf 657|657
run;
data wamt ;
retain patternID ;
set have ;
if _n_=1 then do ;
patternID=prxparse('/([0-9]+)/') ;
end ;
found=prxmatch(patternID,string) ;
want=prxposn(patternID,1,string) ;
put string= found= want= ;
run ;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.