问题
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']
.
回答1:
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
}
来源:https://stackoverflow.com/questions/22284076/mix-letters-of-a-string-in-alphabetical-order-in-matlab