How can I change the label for my elements with same name?

2 次查看(过去 30 天)
How can I count the the strings with the sabe value and then add them in another ID with the increasing number for the elements with the same label
For example I have the next vector
A = {'1_01';'1_01';'1_01';'1_02';'1_02'}
and the result should be this
B = {'1_01-1';'1_01-2';'1_01-3';'1_02-1';'1_02-2'}
str1 = '-';

采纳的回答

Chunru
Chunru 2021-8-12
A = {'1_01';'1_01';'1_01';'1_02';'1_02'};
uA = unique(A);
B = A;
for i=1:length(uA)
idx = find(strcmp(A, uA(i)));
for j=1:length(idx)
B{idx(j)} = sprintf('%s-%d', B{idx(j)}, j);
end
end
%B = {'1_01-1';'1_01-2';'1_01-3';'1_02-1';'1_02-2'}
B
B = 5×1 cell array
{'1_01-1'} {'1_01-2'} {'1_01-3'} {'1_02-1'} {'1_02-2'}

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by