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

1 次查看(过去 30 天)
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.

采纳的回答

Jan
Jan 2019-4-5
编辑:Jan 2019-4-5
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) = {[]};

更多回答(0 个)

类别

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