how to match sub string with main string in a cell array??

Hi,
I have a cell array as below
cell_arr=
sub string as b = {'hard'}
If sub string matches with column1 i.e., cell_arr{:,1}, only that particular column2 has the value else it must be empty. i tried a lot with this.
out =
I am attaching the sample code here
a = {'hard';'smart';'hard drive';'smart work';'hark disk';'hard drive'};
b = {0.1;0.2;0.4;0.7;0.8;0.9};
cell_arr=[a,b];
out= cell_arr(strcmp(cell_arr,'hard'),:);
Please help me if any idea on this.

1 Comment

15 questions asked 46 answers answered yet you post a photo instead of code.

Sign in to comment.

 Accepted Answer

Jan
Jan on 5 Apr 2019
Edited: Jan on 5 Apr 2019
With modern Matlab versions >= R2016b:
a = {'hard';'smart';'hard drive';'smart work';'hark disk';'hard drive'};
b = {0.1;0.2;0.4;0.7;0.8;0.9};
c = [a,b];
% If the substring should be existing anywhere:
c(~contains(c(:,1), 'hard'), 2) = {[]};
% or if the substring should appear at the start:
c(~startsWith(c(:,1), 'hard'), 2) = {[]};

More Answers (0)

Categories

Asked:

on 5 Apr 2019

Edited:

Jan
on 5 Apr 2019

Community Treasure Hunt

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

Start Hunting!