## Manipulate strings

Solved
Frequent Contributor
Posts: 82

# Manipulate strings

Have: '89', '240', 'E9C10'.  (original strings)

Need: 'cc00089', 'cc00240', 'ccE9C10'. (new strings)

Basically, new strings (7 characters)= 'cc' + '0's + original strings.

Previously achieved in Excel using macros, not sure how to do in SAS?

Accepted Solutions
Solution
‎04-18-2017 06:59 PM
Super User
Posts: 10,850

## Re: Manipulate strings

``````data want;
length orig \$ 5;
length temp \$ 5;
do orig = '89', '240', 'E9C10', '1';
temp=orig;
want='cc'||translate(right(temp),'0',' ');
output;
end;
drop temp;
run;``````

All Replies
SAS Super FREQ
Posts: 830

## Re: Manipulate strings

Hi

You can use the LENGTH and REPEAT functions to get what you need, see sample below.

``````data want;
length orig \$ 7;
length want \$ 7;
do orig = '89', '240', 'E9C10', '1';
l_orig = length(orig);
want = cats("cc", repeat("0", 5 - 1 - length(orig)) , orig);
l_want = length(want);
output;
end;
run;``````

Bruno

Solution
‎04-18-2017 06:59 PM
Super User
Posts: 10,850

## Re: Manipulate strings

``````data want;
length orig \$ 5;
length temp \$ 5;
do orig = '89', '240', 'E9C10', '1';
temp=orig;
want='cc'||translate(right(temp),'0',' ');
output;
end;
drop temp;
run;``````
☑ This topic is solved.