سؤال

I have the cell array of strings in matlab. I want to sort letters in every string in alphabetical order. How can I do that?

For example, if I have ['dcb','aetk','acb'}], I want it to be: ['bcd','aekt','abc'].

هل كانت مفيدة؟

المحلول

The handy helper here is cellfun, with the correct option for nonscalar output - we tell it to run sort on each element of the cell array in turn:

>> a = {'dcb' 'aetk' 'acb'}
a =
{
  [1,1] = dcb
  [1,2] = aetk
  [1,3] = acb
}

>> b = cellfun(@sort, a, 'UniformOutput', false);
b =
{
  [1,1] = bcd
  [1,2] = aekt
  [1,3] = abc
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top