But at that point you'll have to use split to reformat the original strings before pushing them onto a new list in an order specified by the hash, which you will be using as a look-up table.
Well, split is indeed the most natural tool to do that, and the one I would use, and to stress it once more: there's really no good reason why one should not use it! (or else the OP should provide one!) But as usual TMTWOTDI: see for example the alternative I offer in this reply - it's even actually shorter...