Finding a column with specific text

9 views (last 30 days)
I am trying to create a function that takes a array of characters and finds the first column that has a specific input. It seems to work however when I ask have cells with multiple characters an error message saying matrix dimensions must agree. Not sure what I am doing wrong. Any suggestions?

Accepted Answer

Star Strider
Star Strider on 15 Feb 2021
I have no clear idea of what the exact problem is, however using strfind or strcmp (or strcmpi) instead of the logical operation with ‘==’ could do what you want.
  3 Comments
Adam Danz
Adam Danz on 15 Feb 2021
Edited: Adam Danz on 15 Feb 2021
strcmp/strcmpi returns the index number.
If your array is 1D (vector) then you're problem is solved.
If your array is >1D you can use ind2sub to get the column number.
ind = strcmpi(YourArray, subStr);
[~, col] = ind2sub(size(YourArray),find(ind));
Star Strider
Star Strider on 15 Feb 2021
BENJAMIN BUCHDA — Als always, my pleasure!
Adam Danz — Thank you.
.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements 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!