Checking to see if a character is in a string array, then deleting entries where this character isn't in a string
2 views (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
Thorsten
on 10 Nov 2015
Edited: Thorsten
on 13 Nov 2015
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.
More Answers (0)
See Also
Categories
Find more on Characters and Strings in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!