Is the number of array values constant? In your example you have five slots in the first row and only four in the second.
I think the best option is to write a custom pl/sql function that you can call in the universe. That way if the data ever changes you can update the database function and leave the universe + reports alone. Otherwise you can probably break it out with some string functions / conversion functions / or as you suggest, a nasty decode.