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.