How can I return indices for specific strings found within cells of a cell array?

조회 수: 2 (최근 30일)
Hi all!
I have a cell array where each cell has a three letter identification, i.e. 'ABC'
I was wondering if there was a function, or a simple way, of returning indices for specific strings within the cell array, i.e. if I want to find all cells within the array that have 'ABC'. Similar to the find function.
I've written the following function below, and it works, however; it doesn't seem completely efficient.
function Result = pullIndices(charArray, String)
x = 1 ;
Result = NaN(1, length(charArray)) ;
for i = 1:length(charArray)
if strcmp(charArray{i}, String)
Result(x) = i ;
x = x + 1;
end
end
Result = Result(1, 1:x-1) ;
end
Thanks!

채택된 답변

Walter Roberson
Walter Roberson 2016년 4월 9일
pullIndices = @(charArray, String) find( strcmp(charArray, String) );
Single short anonymous function.

추가 답변 (1개)

Kuifeng
Kuifeng 2016년 4월 9일

카테고리

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