Rearrange cell array of strings based on occurrence in another cell array of string

7 visualizzazioni (ultimi 30 giorni)
Hey,
I have two cell arrays of string. Let's call them A and B:
A = {'test1', 'test2'};
B = {'here_test2_occurs', 'here_test1_occurs'};
I know that the elements of A occur in the elements of B. How can I reorder the cell array A so that the elements are in the same order as they occure in B?
Thanks!

Risposta accettata

Stephen23
Stephen23 il 18 Apr 2023
Modificato: Stephen23 il 18 Apr 2023
Assuming that every text in B contains exactly one text from A, and that every text in A occurs in B:
A = {'test1', 'test2', 'test1'};
B = {'here_test2_occurs', 'here_test1_occurs'};
F = @(a)find(contains(B,a));
[~,X] = sort(cellfun(F,A));
C = A(X)
C = 1×3 cell array
{'test2'} {'test1'} {'test1'}

Più risposte (0)

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by