How to count a specific string in a cell array?

I'm trying to count the number of occurrences of a word in a cell array. For example if the cell is like this:
c = {'car' , 'tree' , 'car' , 'bag' , 'horse' , 'car' , 'tree'}
I want to count the number of occurrences of strings in the cell. For example if I search for the number of string 'water' it would result in *0*. Or if I search for the number of 'car', it would result in *3*. How can I do this?
Thanks in advance

 Akzeptierte Antwort

KSSV
KSSV am 23 Mär. 2017

1 Stimme

c = {'car' , 'tree' , 'car' , 'bag' , 'horse' , 'car' , 'tree'} ;
idx = strfind(c, 'car');
idx = find(not(cellfun('isempty', idx)));
N = length(idx)

2 Kommentare

Thanks a lot. It works very fine.
KSSV
KSSV am 23 Mär. 2017
@ Hadi Ghahremannezhad Stephen Cobeldick's answer is perfect one...

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Stephen23
Stephen23 am 23 Mär. 2017

10 Stimmen

>> c = {'car' , 'tree' , 'car' , 'bag' , 'horse' , 'car' , 'tree'};
>> nnz(strcmp(c,'water'))
ans =
0
>> nnz(strcmp(c,'car'))
ans =
3

3 Kommentare

KSSV
KSSV am 23 Mär. 2017
+1
@KSSV This works great and simple. thanks
BN
BN am 11 Apr. 2020
Thanks from 2020, It's Amazing approach, Thank You Dear Stephen Cobeldick. +1

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Get Started with MATLAB finden Sie in Hilfe-Center und File Exchange

Produkte

Gefragt:

am 23 Mär. 2017

Kommentiert:

BN
am 11 Apr. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by