DATA Step, Macro, Functions and more

replace spaces with comma

Accepted Solution Solved
Reply
Contributor
Posts: 53
Accepted Solution

replace spaces with comma

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


Accepted Solutions
Solution
‎03-14-2016 10:30 AM
Respected Advisor
Posts: 3,156

Re: replace spaces with comma

[ Edited ]
Posted in reply to ArchanaSudhir

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


All Replies
Solution
‎03-14-2016 10:30 AM
Respected Advisor
Posts: 3,156

Re: replace spaces with comma

[ Edited ]
Posted in reply to ArchanaSudhir

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);
Contributor
Posts: 53

Re: replace spaces with comma

That was tricky, thanks Smiley Happy

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 1374 views
  • 0 likes
  • 2 in conversation