I'm trying to replace a month name from some Hebrew encoding to UTF given as a string literal by using transtrn() function but the string was not replaced:
73 data _null_;
74 txt = '3139363920F8E1EEE8F4F1203035'x;
75 t1 = scan(txt,2,' ');
76 t2 = 'september';
77
78 txt_new = transtrn(txt,t2,t1);
79 put txt_new=;
80 run;
txt_new=1969 ������ 05
it should be:
"1969 september 05"
Hi @Shmuel,
Change the order of the second and third argument and apply the TRIM function:
txt_new = transtrn(txt,trim(t1),t2);
Hi @Shmuel,
Change the order of the second and third argument and apply the TRIM function:
txt_new = transtrn(txt,trim(t1),t2);
Thanks, both functions result as expecterd: trim(t1) as strip(t1)
What @FreelanceReinh said, and heed Maxim 46:
data _null_;
txt = '3139363920F8E1EEE8F4F1203035'x;
t1 = scan(txt,2,' ');
t2 = 'september';
txt_new = transtrn(txt,strip(t1),t2);
put txt_new=;
run;
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 how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.