How about this GREP search?
\s[\l\u|\-]+\,$ will find the last name, even if the name is hyphenated
and then for replace, use $0, BUT change the character style and apply a character style which has NO STROKE NOR FILL in the character style
does this help? this could even be done as a GREP style.
Or you could search for \s[\l\u|\-]+(,)$ and replace with $1 to remove the last name and leave the comma next to the last word in the first name. this must be done as a find/change rather than a GREP style.
Colin's method is nice in it can be a style, but it leaves "space" between the last visible name and the comma because the text is still present. Colin "escaped" the comma in his version, too, but is seems to make no difference in my test.
Sorry, I think I misread Colin's expression. It actually hides the comma as well.
No worries peter.
I DO need to eat some humble pie though, it doesn't find surnames such as O'Toole - darn apostrophe. To do this, change the find GREP to: