自然顺序行排序

3.4.4版本(23.8 KB)由 Stephen23
单元格/字符串/分类/表格数组的字母数字行排序,具有可定制的数字格式。

1.7 k下载

更新1月31日

查看许可协议

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

来排序任何文件名称或文件夹名称使用 NATSORTFILES
要对字符串/单元格数组的元素排序,请使用 的作用
总结
对字符串/单元格/类别/表格数组的行进行字母数字排序。根据字符代码对文本进行排序,同时考虑任何数字子字符串的值。比较例如:
>> x = {“x2”“十”“x10”' 0 'x1的' 0 '“x2”' 2 '};
> > sortrows (X)数字顺序错误
ans =
x1的' 0 '
“x10”' 0 '
“x2”“十”
“x2”' 2 '
> > natsortrows (X)正确的数字顺序
ans =
x1的' 0 '
“x2”' 2 '
“x2”“十”
“x10”' 0 '
默认情况下 NATSORTROWS 将所有连续数字解释为整数,可以使用正则表达式指定数字子字符串识别:参见 的作用 获取详细信息。
文件的依赖
自然顺序排序由函数提供 的作用 (文件交换34464)。所有的 的作用 的可选输入由 NATSORTROWS
例子
>> a = {“B”' 2 '“X”“一个”“100”“X”“B”“十”“X”“一个”' 2 '“Y”“一个”“20”“X”};
> > sortrows (A)% SORTROWS作比较。
ans =
“一个”“100”“X”
“一个”' 2 '“Y”
“一个”“20”“X”
“B”“十”“X”
“B”' 2 '“X”
> > natsortrows (A)
ans =
“一个”' 2 '“Y”
“一个”“20”“X”
“一个”“100”“X”
“B”' 2 '“X”
“B”“十”“X”
> > natsortrows ([],“下”
ans =
“B”“十”“X”
“B”' 2 '“X”
”““100”“X”
“一个”“20”“X”
“一个”' 2 '“Y”
> > sortrows (A,[2、3])% SORTROWS作比较。
ans =
“B”“十”“X”
“一个”“100”“X”
“一个”' 2 '“Y”
“B”' 2 '“X”
“一个”“20”“X”
> > natsortrows([],[2、3])
ans =
“一个”' 2 '“Y”
“B”' 2 '“X”
“B”“十”“X”
“一个”“20”“X”
“一个”“100”“X”
> > natsortrows([],假的,真的,真的,{“提升”“下”})
ans =
“一个”' 2 '“Y”
“B”' 2 '“X”
“B”“十”“X”
“一个”“20”“X”
“一个”“100”“X”
> > natsortrows ([], {“忽略”“提升”“下”})
ans =
“一个”' 2 '“Y”
“B”' 2 '“X”
“B”“十”“X”
“一个”“20”“X”
“一个”“100”“X”
T = cell2table(A);
natsortrows (T,[],[2、3])%的表
ans =
A1A2A3
___________
“一个”' 2 '“Y”
“B”' 2 '“X”
“B”“十”“X”
“一个”“20”“X”
“一个”“100”“X”
natsortrows (T [] {“A2”“A3”}, {“提升”“下”})%的表
ans =
A1A2A3
___________
“一个”' 2 '“Y”
“B”' 2 '“X”
“B”“十”“X”
“一个”“20”“X”
“一个”“100”“X”
>> b = {“ABCD”' 3 e45 '“67.8”“正”“-12”“+ 9”“南”};
> > sortrows (B)% SORTROWS作比较。
ans =
“+ 9”
“正”
“-12”
' 3 e45 '
“67.8”
“ABCD”
“南”
> > natsortrows (B,(- +) ? (NaN |正| \ d + \ ? \ d * (E - +] ? \ d +)吗?)”
ans =
“-12”
“+ 9”
“67.8”
' 3 e45 '
“正”
“南”
“ABCD”
>> c = {“A2”, 2;“A10”, 1;“A2”1};列中的标量数字:
> > natsortrows (C []“sortnum”
ans =
“A2”[1]
“A2”[2]
“A10”[1]
> > natsortrows (C []“sortnum”, {“提升”“下”})
ans =
“A2”[2]
“A2”[1]
“A10”[1]

引用作为

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

MATLAB版本兼容性
使用R2010b创建
与R2009b及后续版本兼容
平台的兼容性
窗户 macOS Linux

世界杯预选赛小组名单社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!世界杯预选赛小组名单

开始狩猎!
版本 发表 发布说明
3.4.4

*添加测试用例。

3.4.3

*现在R2009b兼容。

3.4.2

*编辑描述和帮助。

3.4.1

*编辑描述和帮助。

3.4.0

*添加大量的测试用例。
修正了输入数组为空时降序排序的错误。
*增加功能:排序表,选择表变量/列。
*添加功能:排序单元格数组中的标量数字。

3.3.0

*完善测试功能,增加测试用例。

3.2.0

*更新TESTFUN。

3.1.0

*更健壮的TESTFUN漂亮的打印代码。

3.0.5

*改进例子。

3.0.4

*总结正确。

3.0.3

*改进字符串处理。

3.0.2

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

3.0.1

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

3.0.0

*接受并排序字符串数组,分类数组,单元格数组的字符等。
正则表达式和可选参数可以是string或char。

2.1.2

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

2.1.1

*添加错误id。

魅惑

修正了char

2.0.0

* NATSORT总重写:更快,更少的内存。
*删除第二个输入COL,现在作为可选参数提供。
*改进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