Find row where cell value equals some defined value
2 views (last 30 days)
Show older comments
Hi,
I have a list called quarters that looks something like:
1999Q2
1999Q3
1999Q4
2000Q1
I would like to find out which row is for example 1999Q4. So I have defined:
quarter_find='1999Q4'
How could I find the right row? I tried with find function: [row_equal]=strfind(quarters, quarter_find)
I get
[]
[]
1
[]
How could I actually get number of row where those values are equal? (so in this case I would like to ger answer=3)
Could anyone please suggest me something?
Thanks,
Ieva
0 Comments
Accepted Answer
Andrei Bobrov
on 23 Mar 2012
eg
data = {'1999Q2'
'1999Q3'
'1999Q4'
'2000Q1'}
out = find(~cellfun('isempty',strfind(data,'Q4')))
3 Comments
Jan
on 21 Mar 2017
@Venkatesan Thanigaiarasu: Please do not highjack an existing thread. Open a new thread for a new question. Thanks.
'10' '10.66' '11' '20' does not look like a "90 x 1 double". Please clarify this (in the new thread of course).
More Answers (1)
Jan
on 23 Mar 2012
The command posted by Andrei is the best Matlab solution I know, but it does not look nice, althozugh this is a standard problem. Therefore I'm using FEX: strncmpr. This function is equivalent to strncmp, but processes the strings from the right. E.g. this helps to filter file names by their extensions.
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!