文字列から最初の'*'を探して、そこから後を削除するっていうのは↓でできるんですが

str.erase(find(str.begin(), str.end(), '*'), str.end());

文字列から最後の'*'を探して、そこから前を削除するっていうのは1行で書けますか?

str.erase(str.begin(), find(str.rbegin(), str.rend(), '*'));

としてもコンパイル出来ませんでした