필터 지우기
필터 지우기

removing elements of cell array

조회 수: 3 (최근 30일)
James Connor
James Connor 2015년 11월 9일
편집: William Smith 2018년 4월 3일
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일
>> 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일
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'

카테고리

Help CenterFile Exchange에서 Characters and Strings에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by