## How to insert one symbol between characters in the sequence?

Solved
Frequent Contributor
Posts: 86

# 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: 10,766

## 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;``````

All Replies
Super Contributor
Posts: 340

## 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: 10,766

## 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;``````
Frequent Contributor
Posts: 86

## 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: 10,766

## 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 ;``````

Frequent Contributor
Posts: 86

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

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

JC
☑ This topic is solved.