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
% 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’.
Find Index of Cells Containing My String in MATLAB
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
% 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.