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