Я ищу алгоритм, который сортирует строки, похожие на способ сортировки файлов (и папок) в проводнике Windows. Кажется, что числовые значения в строках учитываются при сортировке, что приводит к чему-то вроде
name 1, name 2, name 10
вместо
name 1, name 10, name 2
который вы получаете с регулярным сопоставлением строк.
Я собирался начать писать это сам, но хотел проверить, кто-то сделал это раньше, и был готов поделиться каким-то кодом или соображениями. Способ, которым я хотел бы приблизиться к этому, заключался бы в том, чтобы добавить перед началом сравнения нулевые значения в числовые значения в имени. Это приведет к чему-то вроде
name 00001, name 00010, name 00002
который при сортировке с регулярной сортировкой строк даст мне правильный результат.
Любые идеи?