data test2;
first = 'Ipswich, England';
city = substr(first,1,7);
city_country = city||', '||'England';
run;
how come city_country = 'Ipswich , England'?
where did the space between 'Ipswich' and the comma come from?
Thank you!
What length did you expect that the SAS would use to create the variable CITY ? It makes it length $16 since the variable FIRST was defaulted to $16 based on the length of the string literal first assigned to it. Hence there are 11 spaces at the end of the variable after the 7 that you populated with the SUBSTR() function call.
Use CATS or CATX function instead to have SAS strip the spaces off the end of the variable.
data test2;
first = 'Ipswich, England';
city = substr(first,1,7);
city_country = city||', '||'England';
fix = catx(', ',city,'England';
put (_all_) (/ $quote.);
run;
"Ipswich, England"
"Ipswich"
"Ipswich , England"
"Ipswich, England"
NOTE: The data set WORK.TEST2 has 1 observations and 4 variables.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
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.
Ready to level-up your skills? Choose your own adventure.