Если вы заботитесь о читабельности, я предлагаю просто использовать «split», например так:
string.split ("from"). last.split ("to"). first или, в вашем случае:
to.split ( "+"). Last.split ( "@"). Первый
используйте лимит 2, если есть больше значений '+' или '@', чтобы заботиться только о первом случае:
to.split ( "+", 2) .last.split ( "@", 2) .first