How do I eliminate strings with length < 3 from cellarray
1 view (last 30 days)
Show older comments
I'm trying to remove all string with length < 3 from a cell array. But the output is not what I expect.
For example:
days = {'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'}; abbrev = cellfun(@(x) x(length(x) > 3), days, 'UniformOutput', false)
It returns:
abbrev =
'M' 'T' 'W' 'T' 'F'
But I need it to return the whole word that is bigger than 3.
Anyone knows how to do it?
Thanks.
0 Comments
Accepted Answer
Azzi Abdelmalek
on 6 Dec 2013
days = {'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'};
abbrev = days(cellfun(@numel,days)>=3)
More Answers (1)
sixwwwwww
on 6 Dec 2013
try this:
days = {'Monday', 'M', 'T', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'};
count = 1;
for i = 1:length(days)
if length(days{i}) > 3
day(count) = days(i);
count = count + 1;
end
end
See Also
Categories
Find more on Cell Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!