how to query string exactly in matlab

4 views (last 30 days)
I have a composition table. If I enter matlab, I will get a cell of n*1
e.g. file attached
If I finish reading matlab
I want to find the location of M2 how can I find it
I have tried using
Index = find(contains(str,'M2'));
But this will output all the components that contain the M2 name
I want to output only the position of an M2

Accepted Answer

Stephen23 on 1 Sep 2022
Edited: Stephen23 on 1 Sep 2022
C = readcell('TEST.xlsx')
C = 6×1 cell array
{'M2' } {'SM2'} {'M23'} {'S1' } {'O1' } {'K1' }
X = matches(C,'M2')
X = 6×1 logical array
1 0 0 0 0 0
X = strcmp(C,'M2')
X = 6×1 logical array
1 0 0 0 0 0
TIP for the future: scroll to the bottom of the CONTAINS documentation page, you will find a list of related functions, including MATCHES and many others. Browsing the MATLAB help is a very useful skill.
  1 Comment
Rik on 1 Sep 2022
Another related function: ismember, which is mostly similar in this context to the matches function.

Sign in to comment.

More Answers (0)


Find more on Entering Commands in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!