concatenation and extra spaces

Reply
Occasional Contributor
Posts: 9

concatenation and extra spaces

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!

Super User
Super User
Posts: 6,499

Re: concatenation and extra spaces

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.

Ask a Question
Discussion stats
  • 1 reply
  • 236 views
  • 0 likes
  • 2 in conversation