MATLAB: Find the cell array contains a specific string

string in cell array

I have a cell array as attached, I want to find the row number which contains a specified string, such as 'bore', I know how to write a for-loop to compare the element one by one, but, is there any easier way to do this?
Thanks!
Yu

Best Answer

Use strfind:
>> idc = strfind(file,'bore'); % search for 'bore' in all cells.
>> idx = ~cellfun('isempty',idc) % logical index, which cells contain 'bore'.
idx =
1
0
0
0
0
0
0
0
0
0
0
0
We can clearly see that the string in the first cell contains the pattern 'bore'. The indices in the cell array idc tell you where in the string/s that pattern was found.