Modifying a string
28 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Fangjun Jiang
2011-8-15
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 个评论
更多回答(2 个)
Paulo Silva
2011-8-15
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!