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

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 = '-';

 Respuesta aceptada

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'}

Más respuestas (0)

Categorías

Más información sobre Data Types en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 12 de Ag. de 2021

Comentada:

el 12 de Ag. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by