## right/left justified variables

Solved
Super Contributor
Posts: 464

# right/left justified variables

i have a char variable that need to be filled with |||| to the left and 2 zeros to the right

and write to an output file with  a length of 19 (pos 2 to position 20)

so if the variable is "aaaaaaaaaa"

then it needs to be displayed as    |||||||aaaaaaaaaa00

The zeros  are easy to be added  but the ||| no clue

also another char var (length=16) that needs to be right justified with zeros

so it the var is bbbbbbbbbb it will be 000000bbbbbbbbbb  in the  output

Accepted Solutions
Solution
‎09-17-2014 05:06 PM
Posts: 3,167

## Re: right/left justified variables

I am sure there will be many solutions, here is two of them, _var1--tranwrd() and _var2--substr()

data test;

length _var1 var1 _var2 \$ 19;

var="aaaaaaaaaa";

var1=cats(var,'00');

_var1=tranwrd(right(var1),' ','|');

_var2=repeat('|',18);

substr(_var2,19-length(var)-2)=cats(var,'00');

run;

Regards,

Haikuo

Or _var3:

_var3=cats(repeat('|',19-length(var)-3),var,'00');

All Replies
Solution
‎09-17-2014 05:06 PM
Posts: 3,167

## Re: right/left justified variables

I am sure there will be many solutions, here is two of them, _var1--tranwrd() and _var2--substr()

data test;

length _var1 var1 _var2 \$ 19;

var="aaaaaaaaaa";

var1=cats(var,'00');

_var1=tranwrd(right(var1),' ','|');

_var2=repeat('|',18);

substr(_var2,19-length(var)-2)=cats(var,'00');

run;

Regards,

Haikuo

Or _var3:

_var3=cats(repeat('|',19-length(var)-3),var,'00');

Super Contributor
Posts: 464

## Re: right/left  justified variables

thanks Haikuo!

🔒 This topic is solved and locked.