How to remove repeating characters in a character array?

13 visualizaciones (últimos 30 días)
Rui Xu
Rui Xu el 29 de Nov. de 2021
Comentada: Stephen23 el 29 de Nov. de 2021
For example, I have a 4 x 2 char array, moviecountry. It looks like this, ['US'; 'FR'; 'US'; 'CA']. I would like to have another character array, states, that only stores the non-repeating elements of this array, so in this case, states = ['US'; 'FR'; 'CA']. I have the following code right now:
states = [];
for jj = 1:size(moviecountry,1)
currentcountry = moviecountry(jj,:); %set temp country and compare with other
if jj == 1
states = [currentcountry];
end
for kk = 1:size(states,1)
if ~ismember(currentcountry, states(kk, :))
states = [states;currentcountry]%only add to output if no repetition
end
end
end

Respuesta aceptada

Adam Danz
Adam Danz el 29 de Nov. de 2021
See unique.
  5 comentarios
Adam Danz
Adam Danz el 29 de Nov. de 2021
Note Stephen's use of column vectors. If M is a row vector you won't be able to use this method.
Stephen23
Stephen23 el 29 de Nov. de 2021
@Adam Danz: I just copied the char array verbatim from the question: "I have a 4 x 2 char array, moviecountry. It looks like this, ['US'; 'FR'; 'US'; 'CA']."

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Data Type Conversion en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by