If your input data isn't immediately amenable to use with sort, the likely best approach is to extract the search criteria, transform them into strings, sort on these, and then transform the result back to the strings you want.
This approach is interesting if you want 11_foo to sort after 1_foo but both before 2_zap.
There are many nodes on Natural Sort:
In reply to Re: Advanced Bubble Sort (Natural Sort)
by Corion
in thread Advanced Bubble Sort
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |