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

1 回表示 (過去 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 Center および File ExchangeCharacters and Strings についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by