# Detecting a particular word in a cell vector

5 views (last 30 days)
Sabbas on 9 Jul 2012
Dear all,
I have a matrix whose first column is :
'MAR'
' POPSIZE'
'OTHTOTAL'
' CONIZE'
' POPIZE'
'MAR'
' POPULAR SIZE'
'OTHOTAL'
' CONSIIZE'
' POPUZE'
'MAR'
'PRODGORY'
I want to detect if the above column contains the string element ‘MAR’
thanks

Andrei Bobrov on 9 Jul 2012
Edited: Andrei Bobrov on 9 Jul 2012
eg
A = {'MAR'
' POPSIZE'
'OTHTOTAL'
' CONIZE'
' POPIZE'
'MAR'
' POPULAR SIZE'
'OTHOTAL'
' CONSIIZE'
' POPUZE'
'MAR'
'PRODGORY'}
out = any(ismember(A,'MAR'));
or
out = any(strcmp(A,'MAR'));
Jan on 9 Jul 2012
STRCMP is faster.

Luffy on 9 Jul 2012
Edited: Luffy on 9 Jul 2012
see if any(strcmp(M,'MAR')) works for you, if there is MAR it shows 1 else 0
Example: If M = {'MAR'
'POPSIZE'
'OTHTOTAL'
' CONIZE'
' POPIZE'
'MAR'
' POPULAR SIZE'
'OTHOTAL'
' CONSIIZE'
' POPUZE'
'MAR'
'PRODGORY'}
use strcmp(M,'MAR')

Albert Yam on 9 Jul 2012
I would use a regexp. http://www.mathworks.com/help/techdoc/ref/regexp.html Perhaps with a 'match' option, depending what you want as an output.
test = { 'MAR'
' POPSIZE'
'OTHTOTAL'
' CONIZE'
' POPIZE'
'MAR'
' POPULAR SIZE'
'OTHOTAL'
' CONSIIZE'
' POPUZE'
'MAR'
'PRODGORY'};
regexp(test,'MAR')
Sabbas on 9 Jul 2012
all of you three were correct and I thank you