Which expression on that thread I linked to did you use? This one?
if(!regex([Composer], /#^([^,]+)\s+([^,]*?)$#/),
[Composer],
regex(listclean([Composer], 2, / ),
/#^(?:(I+|[JS]r\.?)\s+)?(\S+)(.*)$#/, -1)[R2]/,/ listclean([R3], 2, / )[R1]
)
I ask because I use this in my [Composer Name Swap] custom field for classical, where there are loads of composers with three+ names (Ludwig van Beethoven, Wolfgang Amadeus Mozart, etc.), and I've not seen ANY not show right in my main classical views, e.g., "Beethoven, Ludwig van" or "Mozart, Wolfgang Amadeus." The expression even gets "Strauss, Johann I" and "Strauss, Johann II" right. Obviously it wouldn't work for band names, as dtc said, and probably not multiple artists in the same field delimited by semicolons (though I bet someone on here could tweak the expression to deal with that), so there'd definitely be some manual tagging involved; but I think the above should work for nearly all names (of course you'd need to substitute [Artist], or whatever field you want, for [Composer] in the expression).