How many zeros do I have before a specific sting variable?

2 views (last 30 days)
antonet on 15 Aug 2012
Dear all
I have
A={







































' b1'
' b1'
' b1'
' b1'
' b1'
'b1'
' b1'



'b1'
' b1'}
I have this cell vector. This vector has a characteristic. Immediately after the first zeros the letter 'b1' begins. So I would like to count the zeros before the first 'b1' that starts to appear in this vector. In this case I have 39 zeros. Is it possible to calculate this number using a Matlab code?
thanks

Andrei Bobrov on 15 Aug 2012
yourzeros = find(cellfun(@ischar,A),1,'first')-1;

Matt Fig on 15 Aug 2012
Edited: Matt Fig on 15 Aug 2012
T = strfind(cellfun(@(x) ~x(1),A).',[1 0])
Notice that T will show you the index of every zero that is followed by a nonzero. So you want T(1).

Azzi Abdelmalek on 15 Aug 2012
min(find(cellfun(@(x) ~isnumeric(x),A)))-1

Oleg Komarov on 15 Aug 2012
Another solution:
pos = strfind([A{:}],'b')-1
pos(1)
Oleg Komarov on 16 Aug 2012
I assumed the ' ' was a typing error :)