BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
ArchanaSudhir
Obsidian | Level 7

HI,

 

I am trying to replace spaces with comma for a string.

I have a string var2 with the following value:

100 20    5 55 (There are 6 spaces after 20)

Var2 has a length of 128.

I want to get it as 100,20,5,55(spaces shrinked and a coma in between.

 

I am trying

 

var2=trim(var2);

var2=compbl(var2);

var2=tranwrd(var2,"",",");

I am getting

100,20,5,55,,,,,,,

 

Please advise how to remove the trailing commas.

 

Thanks,

Archana

1 ACCEPTED SOLUTION

Accepted Solutions
Haikuo
Onyx | Level 15

You are very close, trim() need to be implemented on the fly, otherwise, if the variable fixed length is larger then the variable contents, the rest of the length will be padded with blanks.

try this:

var2=tranwrd(trim(compbl(var2))," ",",");

 Other options including PRXCHANGE, one function does it all:

var_prx=prxchange('s/\s+(?=\S+)/,/',-1 , var2);

View solution in original post

2 REPLIES 2
Haikuo
Onyx | Level 15

You are very close, trim() need to be implemented on the fly, otherwise, if the variable fixed length is larger then the variable contents, the rest of the length will be padded with blanks.

try this:

var2=tranwrd(trim(compbl(var2))," ",",");

 Other options including PRXCHANGE, one function does it all:

var_prx=prxchange('s/\s+(?=\S+)/,/',-1 , var2);
ArchanaSudhir
Obsidian | Level 7

That was tricky, thanks 🙂

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

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
  • 2 replies
  • 16779 views
  • 0 likes
  • 2 in conversation