any easier way to find cell by string
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Yu Li
am 15 Mai 2019
Kommentiert: James Tursa
am 15 Mai 2019
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
0 Kommentare
Akzeptierte Antwort
James Tursa
am 15 Mai 2019
Bearbeitet: James Tursa
am 15 Mai 2019
Assuming the strings all start with 'test', e.g.
find(cellfun(@(C)C(end)=='a',A))
3 Kommentare
James Tursa
am 15 Mai 2019
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).
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Characters and Strings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!