[EDIT] original title of this question was \"Getting the last element of a Postgres array, declaratively\"
How to obtain the last element of the array in Postgr
If I understand your question correctly you have a string and you're first splitting it on some separator and then afterwards finding the last element of the array and discarding the rest.
You could miss out the middle man and get the last element directly:
SELECT regexp_replace('foo bar baz', '^.* ', '')
Result:
baz