You could use a combination of the substring function and the indexof function to remove everything after the @.
string.substring(indexStart, indexEnd) string.indexOf(searchvalue, start)
So if you use the result of the indexOf the @, you should be able to get a substring with indexStart 0 and indexEnd the result of the indexOf.
You can use a regular expression, so if you use replaceFirst, the following should work.
replaceFirst('firstname.lastname@example.org', '@.*$', '')