removing elements of cell array

say I have a 1 column cell array
x={'aa';'aal';'aalii';'aam';'aani';'aardvark';'aardwolf';'aaron'}
and word=nanny
how would I remove all words from the cell array that are not equal length to the word. For example. length(word)=5
remove all words from x that are not length 5

답변 (2개)

Stephen23
Stephen23 2015년 11월 9일

1 개 추천

>> x = {'aa';'aal';'aalii';'aam';'aani';'aardvark';'aardwolf';'aaron'};
>> word = 'nanny';
>> x(numel(word)~=cellfun(@numel,x)) = []
x =
'aalii'
'aaron'
Use your favorite internet search engine to locate the official MATLAB documentation for the functions that I used. MATLAB has really great documentation, and you will be doing yourself a great favor by learning to use it.
William Smith
William Smith 2018년 4월 3일
편집: William Smith 2018년 4월 3일

0 개 추천

If it's just explicit items you want to remove, rather based on a function, you can simply use 'setdiff'.
e.g.
setdiff({'one', 'two', 'buckle', 'my', 'shoe'},{'boot', 'my', 'shoe'})
ans =
1×3 cell array
'buckle' 'one' 'two'

카테고리

도움말 센터File Exchange에서 Characters and Strings에 대해 자세히 알아보기

질문:

2015년 11월 9일

편집:

2018년 4월 3일

Community Treasure Hunt

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

Start Hunting!

Translated by