# any easier way to find cell by string

1 ビュー (過去 30 日間)
Yu Li 2019 年 5 月 15 日
コメント済み: James Tursa 2019 年 5 月 15 日
Hi:
I have a cell array like below:
A{1}='test1a';
A{2}='test2a';
A{3}='test3a';
A{4}='test4a';
A{5}='test1b';
A{6}='test2b';
A{7}='test3b';
A{8}='test4b';
...
I want to find the location where 'test*a' are at, in this case, it should be 1,2,3,4
Yes, I can write a for-loop to read-justify cell in this array one by one, but I want know if there is any easier way to do this? such as
strfind(A,'test*a')
of course this is not available in Matlab
Thanks!
Yu

サインインしてコメントする。

### 採用された回答

James Tursa 2019 年 5 月 15 日

find(cellfun(@(C)C(end)=='a',A))
##### 3 件のコメント表示 2 件の古いコメント非表示 2 件の古いコメント
James Tursa 2019 年 5 月 15 日
Well, I think you would need to do something like this instead:
find(cellfun(@(C)numel(C)>4 && strcmp(C(1:4),'test') && C(end)=='a',A))
But really what is needed is an Answer from someone who knows regexp( ) well (and that isn't me).

サインインしてコメントする。

### カテゴリ

Find more on Characters and Strings in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by