How to find a substring within a miscellaneous cell array?

1 view (last 30 days)
Hello
I need to search for a specifig substring within a cell array of different types. Below it is an example.
>> impact_factor(3,:)
ans =
1×8 cell array
Columns 1 through 5
{'Rank'} {'FullJournalTitle'} {'Total Cites'} {[NaN]} {'Journal Impact …'}
Columns 6 through 8
{'Eigenfactor Score'} {[NaN]} {[NaN]}
if I use the full string, the solution could be something like
find(strcmp('FullJournalTitle',impact_factor(3,:)))
However if I try to search for substring such as 'Full' and using either strfind or contains, an error comes out.
Many thanks
Ed

Accepted Answer

dpb
dpb on 7 Mar 2020
Alternatively, string can convert numerics...
>> contains(string(C),"Full")
ans =
1×8 logical array
0 1 0 0 0 0 0 0
>>
  3 Comments
dpb
dpb on 7 Mar 2020
Is a handy feature albeit at the cost of introducing yet another cast. The penchant for the other string functions to return empty or to not be able to handle non-string inputs has always made such lookups a real hassle to work around. Is highly prevalent situation in reading data from spreadsheets and the like that seems, unfortunately, more and more ubiquitous to have to deal with...
Ed Mendes
Ed Mendes on 7 Mar 2020
It seems that we will have to deal with it case by case. I am always worried when matlab needs to read data from spreadsheets. Thank you ever so much for your help.

Sign in to comment.

More Answers (0)

Categories

Find more on Characters and Strings 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!