Modifying a string
33 views (last 30 days)
Show older comments
Hi,
I have a cell array where in each cell I have an alpha numeric number of IDs. I want to adjust this array in a way that if the ID is less than 6 digits (assume 777T) i want to add zeros before it to make it a 6 character ID (00777T). I have no clue how to do it.Any help is appreciated.
0 Comments
Accepted Answer
Fangjun Jiang
on 15 Aug 2011
Use strjust().
a={'777T','123456','23A'};
b=char(a(:));
c=strjust(b,'right');
d=cellstr(c);
e=strrep(d,' ','0');
or make it shorter:
a={'777T','123456','23A'};
c=strjust(char(a(:)),'right');
e=strrep(cellstr(c), ' ','0');
0 Comments
More Answers (2)
Paulo Silva
on 15 Aug 2011
c={{'777T'},{'111T'},{'222T'}}
for n=1:numel(c)
c{n}=['00' char(c{n})];
end
c
or this alternative:
c={{'777T'},{'111T'},{'222T'}}
c=cellfun(@(x) ['00' char(x)],c,'uni',false)
With predefined number of characters
c={{'777T'},{'111T'},{'222T'}}
c=cellfun(@(x) [repmat('0',1,abs(6-numel(char(x)))) char(x)],...
c,'uni',false)
0 Comments
See Also
Categories
Find more on Characters and Strings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!