Question

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'].

Was it helpful?

Solution

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
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top