count string in a cell array
3 views (last 30 days)
Show older comments
How can I count how many times a pattern of a string /char is presented in a cell array ????
string = 945
cell = {1234, 9456, 9457 }
I want the result to be = 2
1 Comment
the cyclist
on 21 Nov 2019
Edited: the cyclist
on 21 Nov 2019
Are the contents of the cell array numeric (e.g. class "double"), string, or character array?
Similarly, is the variable you named "string" a numeric, a string, or a character array. (Calling a variable "string" or "cell" is a bad idea, because those are MATLAB keywords.)
If one of your cell elements was 9457945, would that count once, or twice, in the total?
Answers (2)
Ridwan Alam
on 21 Nov 2019
cell = {1234, 9456, 9457 }
strong = 945
count = sum(contains(string(cell),string(strong)))
3 Comments
Ridwan Alam
on 22 Nov 2019
Edited: Ridwan Alam
on 22 Nov 2019
Dear Collegue,
If you find this solution useful, please accept the answer.
If there is something wrong, please let me know as well.
Thanks!!
Stephen23
on 21 Nov 2019
>> S = '945';
>> C = {'1234', '9456', '9457'};
>> nnz(~cellfun(@isempty,strfind(C,S)))
ans = 2
0 Comments
See Also
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!