gpt4 book ai didi

flutter - 按字母顺序对文件进行排序

转载 作者:行者123 更新时间:2023-12-05 01:09:41 25 4
gpt4 key购买 nike

我有一个这样的文件列表:

['../page-1.png', '../page-3/png', '../page-2.png', '../page-6.png',  ... '../page-9.png']

我需要根据最后的数字对这些文件进行排序。我正在使用这个:

imagePaths.sort((a, b) =>
a.toString().toLowerCase().compareTo(b.toString().toLowerCase()));

其中 imagePaths 是这些图像的路径列表。

问题这种方法可以正常工作,直到只有一位数字的文件编号,即如果有一个名为 '../page-10.png' 的文件,它会像这样排序到列表中:

['../page-1.png', '../page-10.png', '../page-11.png', '../page-12.png' , '../page-2.png', ..]

现在,如何按正确的顺序对它们进行排序?

最佳答案

我想我可以给你一个想法。如果名称模式保持不变,那么这会成功!

  var pages = [
'../page-1.png',
'../page-2.png',
'../page-11.png',
'../page-12.png',
'../page-10.png',
];

pages.sort((a, b) =>
int.parse(a.split('-')[1].split('.')[0]).compareTo(int.parse(b.split('-')[1].split('.')[0])));

print(pages);

// [../page-1.png, ../page-2.png, ../page-10.png, ../page-11.png, ../page-12.png]

只是拆分字符串并解析数字然后排序。

引用:https://api.dart.dev/stable/2.10.4/dart-core/Pattern-class.html

希望有效!

关于flutter - 按字母顺序对文件进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64896737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com