Cell Arrays in MATLAB are a type of array that store data in the form of cells. The benefit of using these cell arrays is that they can store data of different types as cells within a cell array only. In this article, we will see how to find a given string in a cell array.
Firstly, we shall check whether the given cell array contains all strings or not. This can be done by the following function:
iscellstr(<cell array>)
It will return 1 if it contains all strings else, 0.
Example 1:
% MATLAB array
arr = {'geeks','for','geeks','geek'}
Output:

As it can be seen that all elements of the above array contain all strings so, we shall move ahead.
Now, we can find a string in two manners:
- Part of a string cell.
- Exact matches a string cell.
We shall see both these cases and how to do them.
Finding the Index of My String as Part of a Cell:
To find my string as pattern matching/part of the string, we can use the contains a () function which can then, be passed to the find() function to get the indices.
Syntax:
indices = find(contain(array,string))
Example 2:
% MATLAB Array code
arr = {'geeks','for','geeks','geek'};
% Converting to cell array
arr=cell(arr);
%The string to be matches
str='gee';
% Getting indices
indices = find(contains(arr,str))
Output:

As it can be verified that the string 'gee' appears in cells 1, 3, and 4.
Finding an Index of My String as an Exact Cell:
To find exact match of my string we shall use the strcmp() function which returns a logical array for exact matches. Then by passing it to the find() function, we shall get the indices of my string's exact match.
str_logical = strcmp(array,my_string)
indices = find(str_logical)
See the following code for understanding the same.
Example 3:
% MATLAB code for Finding an index of
% my string as an exact cell
% cell array
arr = {'geeks','for','geeks','geek'};
arr=cell(arr);
% Defining two strings for comparison
str1='geek';
str2='geeks';
% Making logical arrays for both strings
str1_log = strcmp(arr,str1);
str2_log = strcmp(arr,str2);
% Finding indices of exact match of both strings
indices_str1 = find(str1_log);
indices_str2 = find(str2_log);
Output:

As we can see, it matched the 'geek' string only to its exact match and not to 'geeks'.