Failing to find a string on a cell of strings using strcmp
1 回表示 (過去 30 日間)
古いコメントを表示
Diogo Tecelão
2018 年 9 月 18 日
回答済み: Christopher Wallace
2018 年 9 月 18 日
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!
0 件のコメント
採用された回答
Christopher Wallace
2018 年 9 月 18 日
Try using 'regexp'
curr_recs_idx = regexp(record_groups_hrs,['_',curr_hr, '\>'])
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Environment and Settings についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!