【问题标题】:Sort natural structure [duplicate]排序自然结构[重复]
【发布时间】:2014-10-29 20:18:40
【问题描述】:

我下面的代码:

files=dir('*.extension')

我需要根据名称对“文件”结构进行自然排序,例如files(i).name

如果我有file1、file2、file11、matlab order file1、file11、file2,我想要file1、file2、file11。

有人可以帮帮我吗?

【问题讨论】:

  • 如果我有file1,file2,file11,matlab命令file1,file11,file2。你明白吗?对不起
  • 是的,您希望它按文件名中数字序列的数值排序。请通过编辑在问题中添加此类附加信息。你越具体地解释你的问题,你就越有可能得到答案。
  • 感谢您的帮助!

标签: string matlab structure cell


【解决方案1】:

您可以简单地将文件名更改为 file01、file02、file11。然后matlab会按照你想要的方式对它们进行排序。或者如果你觉得一个个改文件名很不方便,你可能得写下一些代码:

for idx = 1:length(files)
    seq(idx) = num2str(files(idx).name(5:end);
end
[~,ord] = sort(seq);
for idx = 1:length(files)
    newfiles(idx)= files(ord(idx));
end

【讨论】:

    猜你喜欢
    • 2010-11-22
    • 2012-11-20
    • 2012-01-24
    • 1970-01-01
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    • 2020-12-15
    • 1970-01-01
    相关资源
    最近更新 更多