count string in a cell array

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 个评论

the cyclist
the cyclist 2019-11-21
编辑:the cyclist 2019-11-21
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?

请先登录,再进行评论。

回答(2 个)

cell = {1234, 9456, 9457 }
strong = 945
count = sum(contains(string(cell),string(strong)))

3 个评论

This solution is a good illustration of why "string" is a bad variable name.
Haha, for sure!
Ridwan Alam
Ridwan Alam 2019-11-22
编辑:Ridwan Alam 2019-11-22
Dear Collegue,
If you find this solution useful, please accept the answer.
If there is something wrong, please let me know as well.
Thanks!!

请先登录,再进行评论。

>> S = '945';
>> C = {'1234', '9456', '9457'};
>> nnz(~cellfun(@isempty,strfind(C,S)))
ans = 2

类别

帮助中心File Exchange 中查找有关 Characters and Strings 的更多信息

提问:

2019-11-21

编辑:

2019-11-22

Community Treasure Hunt

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

Start Hunting!

Translated by