how to find a string within a cell array

I have a cell array like this:
'10 Hz: Time_abs'
<1x2 cell>
<1x2 cell>
<1x2 cell>
<1x2 cell>
<1x2 cell>
<1x2 cell>
<1x2 cell>
'10 Hz: Time_abs'
<1x2 cell>
<1x2 cell>
<1x2 cell>
at first I need to find in which rows there is '10 Hz: Time_abs' and then delete the corresponding row. I can not use strcmp or isstr because the other rows are cell and are not comparable with a string.
can anybody help me with that,I really appreciate that.
best, Navid

1 个评论

Why not iterate over each element within the cell array and copy those that aren't strings (that match '10 Hz: Time_abs') to another cell array?

请先登录,再进行评论。

 采纳的回答

p='10 Hz: Time_abs'
A={'10 Hz: Time_abs';{'yytt' 'rr'};{'yyt2t' 'rr1'}}
A(cellfun(@(x) any(strcmp(x,p)),A))=[]

3 个评论

Many thanks,it's working,is it possible to have the index of these rows?
p='10 Hz: Time_abs'
A={'10 Hz: Time_abs';{'yytt' 'rr'};{'yyt2t' 'rr1'}}
idx=find(cellfun(@(x) any(strcmp(x,p)),A))
I really appreciate your help,thanks

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Logical 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by