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

4 次查看(过去 30 天)
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!

采纳的回答

Stephen23
Stephen23 2023-4-18
编辑:Stephen23 2023-4-18
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'}

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by