Thank you, that works well. Just putting this here for reference for anybody else. I used the following in an Enrichment node:
First name: Smart(Substring(Substring(emailfield,0,Charindex(emailfield,"@")), 0, Charindex(emailfield,".")) )
Last name: Smart(Substring(Substring(emailfield,0,Charindex(emailfield,"@")), Charindex(emailfield,".")+1, Charindex(emailfield,"@")) )
The Smart() capitalises the first letter of each name. Don't forget the data then needs to be updated in the database once you have enriched the incoming data.