Checking to see if a character is in a string array, then deleting entries where this character isn't in a string

I have a string array that is just a list of words (dictionary), a random word (word) is selected and I want to loop though the alphabet, then if, say 'a' isn't in my random word it will delete all entries in my string array that contain 'a' etc. (Warning you now, I'm new to matlab).
for i=alphabet;
if i==word;
strfind(dictionary,i);
sel(i)=true;
end
end
rows=find(sel);
newdictionary=dictionary(sel);
this isn't working, so any help with fixing it would be really appreciated

 Respuesta aceptada

To delete all entries with an 'a' from your dictionary
dictionary = {'a' 'b' 'ba' 'c' 'hallo'};
idx = ~cellfun(@isempty, strfind(dictionary, 'a'));
dictionary(idx) = [];
To select a random word from your dictionary
word = dictionary(randi(numel(dictionary)));
Now you can loop over the characters in word to remove all entries in dictionary that have this character.

Más respuestas (0)

Categorías

Más información sobre Characters and Strings en Centro de ayuda y File Exchange.

Productos

Preguntada:

el 10 de Nov. de 2015

Editada:

el 13 de Nov. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by