How to remove repeating characters in a character array?

14 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Adam Danz
Adam Danz il 29 Nov 2021
See unique.
  5 Commenti
Adam Danz
Adam Danz il 29 Nov 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 il 29 Nov 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']."

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Data Type Conversion in Help Center e File Exchange

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by