SAS Programming

DATA Step, Macro, Functions and more
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 🙂

sas-innovate-white.png

Special offer for SAS Communities members

Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.

 

View the full agenda.

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