По сути, у меня есть каталог с кучей имен файлов, которые я загрузил в массив. Имена файлов кое-что говорят мне о тексте, который они представляют (т.е. Prologue, chapterone, chaptertwo), но в имени файла я также включаю порядковый номер, чтобы упорядочить их. Так что «prollecture1.xml», «prollecture2.xml», «prollecture3.xml»,. , , 'prollecture12.xml', 'chapteronelecture13.xml', 'chapteronelecture14.xml'. , , заключение_1818.xml и т. д.
Я хочу отсортировать это так, чтобы массив перечислял их в числовом порядке. Использование «естественной сортировки сравнения» приближает меня, но сортировка начинается с первого символа имени файла, и, таким образом, «chapteronelecture13.xml» отображается перед «prollecture1.xml», потому что «c» предшествует «p». Если бы я знал, что хочу сделать это с самого начала, я бы поставил цифры на первое место. Но изменить все имена файлов сейчас было бы много работы.
Мой вопрос: есть ли способ получить "естественное сравнение строк", чтобы проигнорировать первую часть имени файла и начать с "лекции ##"? Или, что еще лучше, может ли сортировка игнорировать (но не удалять) все нечисловые данные и сортировать массив исключительно по числам, встроенным в имя файла?
Спасибо за вашу помощь.