How do I move certain rows up or down in a cell array?
5 views (last 30 days)
Show older comments
I have a cell array, which is sorted alphabetically. I need to move any row that contains a marker (for example, X), to the top of the list. How do I do that?
e.g.:
AAA AAB FFF FTD JJJ XXX XXY ZAF ZAE
So, I just need to move XXX and XXY to the beginning, and the rest of the array should remain the same.
Does anyone know of a script to do this automatically?
Thanks
0 Comments
Accepted Answer
Matt J
on 23 Oct 2012
Edited: Matt J
on 23 Oct 2012
idx=~cellfun('isempty', strfind(yourcell,'X'));
yourcell=yourcell(:).';
yourcell=[yourcell(idx), yourcell(~idx)];
3 Comments
Matt J
on 23 Oct 2012
Yes. If your cell array is really vertical and you want to keep it that way, just delete the 2nd line and concatenate vertically in the final line.
More Answers (0)
See Also
Categories
Find more on Characters and Strings in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!