自然顺序文件名排序

3.4.4版本(24.4 KB)由 Stephen23
字母数字排序的文件名或文件路径,具有可定制的数字格式。

23.5 k下载

更新星期一,2022年1月31日12:04:03 +0000

查看许可协议

编者按:此文件被选为MATLAB Central本周精选

要对字符串/单元格数组的元素排序,请使用 的作用
用于对字符串/单元格数组的行进行排序 NATSORTROWS
总结
对字符串/单元格/结构数组中的文本进行字母数字排序。根据字符代码对文本进行排序,同时考虑任何数字子字符串的值。比较例如:
>> a = {“a2.txt”“a10.txt”“a1.txt”};
> >排序(A)
ans =“a1.txt”“a10.txt”“a2.txt”
> > natsortfiles (A)
ans =“a1.txt”“a2.txt”“a10.txt”
默认情况下 NATSORTFILES 将所有连续数字解释为整数,可以使用正则表达式指定数字子字符串识别:参见 的作用 获取详细信息。
NATSORTFILES 不执行朴素的自然顺序排序,而是分别对文件名和文件扩展名进行排序,以确保字典排序,其中较短的文件名总是在较长文件名之前排序。同样,文件路径按每个文件分隔符分隔,文件层次结构的每一层都单独排序。
DIR()的示例
P =“C: \ SomeDir \子目录”
S = dir(fullfile(P,‘* . txt”));
S = natsortfiles(S);
k = 1:数字(S)
F = fullfile(P,S(k).name)
结束
文件的依赖
自然顺序排序由函数提供 的作用 (文件交换34464)。所有的 的作用 的可选输入由 NATSORTFILES
例子
>> a = {“a2.txt”“a10.txt”“a1.txt”
> >排序(A)
ans =“a1.txt”“a10.txt”“a2.txt”
> > natsortfiles (A)
ans =“a1.txt”“a2.txt”“a10.txt”
>> b = {“test2.m”“test10-old.m”“test.m”“test10.m”“test1.m”};
> >排序(B)号码顺序错误:
ans =
“test.m”
“test1.m”
“test10-old.m”
“test10.m”
“test2.m”
> > natsortfiles (B)较短的名称先于较长的名称:
ans =
“test.m”
“test1.m”
“test2.m”
“test10.m”
“test10-old.m”
目录名称:
>> c = {“A2-old \ test.m”“A10 \ test.m”“A2 \ test.m”“A1 \ test.m”“A1-archive.zip”};
> >排序(C)数字顺序错误,“-”排在“\”前面:
ans =
“A1-archive.zip”
“A10 \ test.m”
“A1 \ test.m”
“A2-old \ test.m”
“A2 \ test.m”
> > natsortfiles (C)较短的名称先于较长的名称:
ans =
“A1 \ test.m”
“A1-archive.zip”
“A2 \ test.m”
“A2-old \ test.m”
“A10 \ test.m”
>> d = {“A1 \ B”“+ / B”“A / B1”“= / B '“\ B0”};
> >排序(D)
ans =“+ / B”“A / B1”“A1 \ B”“= / B '“\ B0”
> > natsortfiles (D)
ans =“\ B0”“A / B1”“A1 \ B”“+ / B”“= / B '
>> f = {“test_new.m”“test-old.m”“test.m”};
> >排序(F)注意'-'在'之前排序。':
ans =
“test-old.m”
“test.m”
“test_new.m”
> > natsortfiles (F)较短的名称先于较长的名称:
ans =
“test.m”
“test-old.m”
“test_new.m”

引用作为

Stephen23(2023)。自然顺序文件名排序(//www.ru-cchi.com/matlabcentral/fileexchange/47434-natural-order-filename-sort), MATLAB中央文件交换。检索

版本 发表 发布说明
3.4.4

*添加测试用例。

3.4.3

*现在R2009b兼容。

3.4.2

*编辑描述和帮助。

3.4.1

*编辑描述和帮助。

3.4.0

*添加大量的测试用例。
修正了输入数组为空时降序排序的错误。

3.3.0

*完善测试功能,增加测试用例。
*重命名选项nopath->xpath, nodot->rmdot

3.2.0

*更新TESTFUN。
修复了struct解析中的错误。

3.1.0

*更健壮的TESTFUN漂亮的打印代码。
*添加NODOT选项。

3.0.5

*改进例子。

3.0.4

*总结正确。

3.0.3

*改进字符串处理。

3.0.2

简化数值类处理。
*添加排列测试示例。

3.0.1

*处理单个没有编号的元素。

3.0.0

*接受DIR返回的结构并对其进行排序。
*接受并排序字符串数组,分类数组,单元格数组的字符等。
正则表达式和可选参数可以是string或char。

2.1.2

*一致对齐制表符/空格。

2.1.1

*添加错误id。
*添加“nonext”选项。

魅惑

修正了char

2.0.0

* NATSORT总重写:更快,更少的内存。
*改进HTML文档。
*包含测试用例。

1.6.0.0

添加(非常有用的)调试输出参数。

1.5.0.0

*改进宣传和HTML。
*改进输入检查。
*包含NATSORT函数。
*添加HTML文档。
*辅助编辑。

1.4.0.0

*更清晰地描述文件依赖关系。
*改进文件路径排序的例子。

1.3.0.0

*完善功能描述。
*更好的例子。

1.2.0.0

-仅更新文档,改进示例。

1.1.0.0

-完整的致谢。

1.0.0.0

Baidu
map