not sure what is “.numeric”, probably some more sofisticated algorithm that supports such comaparsion out of the box
The problem that you just cannot compare strings 9 and 11. Also, you cannot just convert string to int, because you must also sort by letter
My solution is pretty simple, you just sort by int number, then by letter. You can move number split to comparator, cached value just more efficient (parse only once), but not necessary (updated sample)