Hi ,
I have dru-26-12345
pru-26-56743
I want to change 26 to 34
dru-34-12345
pru-34-56743
please let me know.
thank you
option 1 - use tranwrd function,
option 2 - use prxchange function
as shown in next log output:
72         
 73         data _null_;
 74           txt = 'dru-26-12345';
 75           txt1 = prxchange('s/26/34/',-1,txt); put txt1=;
 76           txt2 = tranwrd(txt,'26','34'); put  txt2=;
 78         run;
 
 txt1=dru-34-12345
 txt2=dru-34-12345
					
				
			
			
				
			
			
			
			
			
			
			
		
data have;
var='dru-26-12345';
output;
var='pru-26-56743';
output;
run;
data want;
 set have;
 var1=prxchange('s/([a-z]{3})-(26)-(\d{5})/$1-34-$3/i', -1, var);
run;
					
				
			
			
				
			
			
			
			
			
			
			
		
data have;
var='dru-26-12345';
output;
var='pru-26-56743';
output;
run;
data want;
 set have;
 if substr(var,5,2)='26' then substr(var,5,2)='34';
run;
/*OR*/
data want;
 set have;
 if scan(var,2,'-')='26' then substr(var,5,2)='34';
run;
					
				
			
			
				
			
			
			
			
			
			
			
		It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
SAS' Charu Shankar shares her PROC SQL expertise by showing you how to master the WHERE clause using real winter weather data.
Find more tutorials on the SAS Users YouTube channel.