Checking to see if a character is in a string array, then deleting entries where this character isn't in a string
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Thorsten
2015-11-10
编辑:Thorsten
2015-11-13
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Type Identification 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!