Failing to find a string on a cell of strings using strcmp

조회 수: 4 (최근 30일)
Hello all,
I am currently trying to use strcmp to find a string on a cell string. However, it doesn't seem to work, and I can't find why. I guess it's a matter of data types incompatibility, but I can't figure it out.
Does anybody know?
subj = {'af_p040624_hr1' 'af_p040624_hr12' 'af_p040624_hr18' 'af_p040624_hr2' 'af_p040624_hr24' 'af_p040624_hr30' 'af_p040624_hr36' 'af_p040624_hr4'};
for i=1:length(subj)
parts = strsplit(subj{i},'_');
if isequal(subj{i}(1:3),'af_')
record_groups{i} = 'POAF';
record_groups_hrs{i} = ['POAF_',parts{3}];
elseif isequal(subj{i}(1:4),'con_')
record_groups{i} = 'Control';
record_groups_hrs{i} = ['Control_',parts{3}];
end
end
hrs = {'hr1','hr2','hr4','hr12','hr18','hr24','hr30','hr36','hr42','hr48'};
for h=1:length(hrs)
curr_hr = hrs{h};
%I want to find the index of the record_groups_hrs which contain EXACTLY something like '_hr1'.
curr_recs_idx = (strcmp(record_groups_hrs,['_',curr_hr]));
end
Many thanks!

채택된 답변

Christopher Wallace
Christopher Wallace 2018년 9월 18일
Try using 'regexp'
curr_recs_idx = regexp(record_groups_hrs,['_',curr_hr, '\>'])

추가 답변 (0개)

카테고리

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