BookmarkSubscribeRSS Feed
Ksharp
Super User

No need macro.

Perl Regular Expression is more than suffice.

 

%let kept=Arne Bert Hansi;

%let want1=%str(%')%qsysfunc(prxchange(s/\s+/','/,-1,&kept.))%str(%');
%let want2=%str(%')%qsysfunc(prxchange(s/\s+/' '/,-1,&kept.))%str(%');
%put &=want1.;
%put &=want2.;


%let want3="%sysfunc(prxchange(s/\s+/"%str(,)"/,-1,&kept.))";
%let want4="%sysfunc(prxchange(s/\s+/" "/,-1,&kept.))";
%put &=want3.;
%put &=want4.;
1    %let kept=Arne Bert Hansi;
2
3    %let want1=%str(%')%qsysfunc(prxchange(s/\s+/','/,-1,&kept.))%str(%');
4    %let want2=%str(%')%qsysfunc(prxchange(s/\s+/' '/,-1,&kept.))%str(%');
5    %put &=want1.;
WANT1='Arne','Bert','Hansi'
6    %put &=want2.;
WANT2='Arne' 'Bert' 'Hansi'
7
8
9    %let want3="%sysfunc(prxchange(s/\s+/"%str(,)"/,-1,&kept.))";
10   %let want4="%sysfunc(prxchange(s/\s+/" "/,-1,&kept.))";
11   %put &=want3.;
WANT3="Arne","Bert","Hansi"
12   %put &=want4.;
WANT4="Arne" "Bert" "Hansi"

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
  • 15 replies
  • 2177 views
  • 8 likes
  • 10 in conversation