BookmarkSubscribeRSS Feed
Davidliu494
Calcite | Level 5

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!

1 REPLY 1
Tom
Super User Tom
Super User

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.

SAS Innovate 2025: Register Today!

 

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.


Register now!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 2756 views
  • 0 likes
  • 2 in conversation