DATA Step, Macro, Functions and more

How to insert one symbol between characters in the sequence?

Accepted Solution Solved
Reply
Contributor
Posts: 56
Accepted Solution

How to insert one symbol between characters in the sequence?

Hi, I am using SAS 9.3.

Does anyone have suggestions to resolve the following issue?

Now, I have one variable recorded as: Birthday Sex Height Weight

and the expected result is: Birthday, Sex, Height, Weight

 

JC


Accepted Solutions
Solution
‎03-29-2017 07:30 AM
Super User
Posts: 9,669

Re: How to insert one symbol between characters in the sequence?

[ Edited ]
data x;
x='Birthday Sex Height Weight';
y=prxchange('s/\s+/, /',-1,strip(x));
run;
proc print;run;

View solution in original post


All Replies
Regular Contributor
Posts: 194

Re: How to insert one symbol between characters in the sequence?

Hello,

if I understand correctly, you have a variable, say INFO that takes values such as "02/12 M 60 120" and you would like to have four distinct variables.
Then you can use the scan function

birthday=scan(INFO,1," ");
sex=scan(INFO,2," ");
...

Solution
‎03-29-2017 07:30 AM
Super User
Posts: 9,669

Re: How to insert one symbol between characters in the sequence?

[ Edited ]
data x;
x='Birthday Sex Height Weight';
y=prxchange('s/\s+/, /',-1,strip(x));
run;
proc print;run;
Contributor
Posts: 56

Re: How to insert one symbol between characters in the sequence?

[ Edited ]

It works. Thank for your help!

 

Is 's/\s+/,/' fixed?

Can I use PRXCHANGE in macro? Perhaps, %let a=%sysfunc(prxchange('s/\s+/,/',-1,strip(x))); ?

 

JC

 

Super User
Posts: 9,669

Re: How to insert one symbol between characters in the sequence?

Yes.I add a white blank after comma.

 

 %let x=sex weight height;
 %let a=%sysfunc(prxchange(%str(s/\s+/, /),-1,&x)); 
 
 %put &a ;

 

 

Contributor
Posts: 56

Re: How to insert one symbol between characters in the sequence?

It works!!!!
Thank you very much!!!!

JC
☑ This topic is SOLVED.

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

Discussion stats
  • 5 replies
  • 142 views
  • 2 likes
  • 3 in conversation