Si potrebbe ottenere con una logica tipo:
1) sostituisci i punti con spazi
2) spezza la stringa ad ogni spazio
3) ordina in base alla prima parte, poi in base alla seconda e così via

Ma non sono sicuro che soddisfi le tue necessità ... alla fine i campi andrebbero nuovamente riuniti ... mi viene mal di testa solo ad immaginare una cosa del genere.

Non puoi cercare di aggirare il problema?