replacing the strings with a specific length in a cell

I want to replace the strings with lenght>=3 with 'm' in the second column of the following cell(without using a loop). So I want to get b from a. Any suggestion? thanks a lot
a =
'1' 'aaaa'
'2' 'a'
'3' 'aa'
'4' 'aaa'
b =
'1' 'm'
'2' 'a'
'3' 'aa'
'4' 'm'

 Accepted Answer

n = 3;
idx = cellfun('prodofsize',a(:,2)) >= n;
a(idx, 2) = {'m'};
Note, however that cellfun is a concealed loop.

2 Comments

+1: Thanks Oleg! I appreciate that I do not have to post my boring standard comments about the string commands for CELLFUN :-)

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!