count string in a cell array

4 次查看(过去 30 天)
Collegue
Collegue 2019-11-21
编辑: Ridwan Alam 2019-11-22
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 个)

Ridwan Alam
Ridwan Alam 2019-11-21
cell = {1234, 9456, 9457 }
strong = 945
count = sum(contains(string(cell),string(strong)))
  3 个评论
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!!

请先登录,再进行评论。


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

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by