Sort these bond ratings
ES6, 71 65 bytes
a=>a.sort((b,c)=>r(b)>r(c)||-1,r=s=>s.replace(/[^A-z]*$/,"z$&,"))
By inserting a z
after the letters and suffixing a ,
we just have to sort the strings lexically.
Edit: Saved 6 bytes thanks to @user81655.
Bash + GNU utilities, 45
Credit is due to @Neil for the approach.
sed s/$/e/|tr +-3 d-l|sort|tr -d e|tr d-l +-3
In my locale sort order, numbers sort before letters and -
sorts before +
. So these characters are transliterated into the alphabet range so they sort in the right order.
Try it online.