Why can't we use this simple way? Looks good, like for me
SELECT 'Mon: '||regexp_substr(col,'\d+\-\d+',1,1) || ', Tue: '||regexp_substr(col,'\d+\-\d+',1,2) || ', Wed: '||regexp_substr(col,'\d+\-\d+',1,3) || ', Thu: '||regexp_substr(col,'\d+\-\d+',1,4) || ', Fri: '||regexp_substr(col,'\d+\-\d+',1,5) || ', Sat: '||regexp_substr(col,'\d+\-\d+',1,6) || ', Sun: '||regexp_substr(col,'\d+\-\d+',1,7) FROM t_view
Obviously, it's easy to exclude an empty Sat Sun, for example with nvl2:
SELECT 'Mon: '||regexp_substr(col,'\d+\-\d+',1,1) || ', Tue: '||regexp_substr(col,'\d+\-\d+',1,2) || ', Wed: '||regexp_substr(col,'\d+\-\d+',1,3) || ', Thu: '||regexp_substr(col,'\d+\-\d+',1,4) || ', Fri: '||regexp_substr(col,'\d+\-\d+',1,5) || nvl2(regexp_substr(col,'\d+\-\d+',1,6), ', Sat: '||regexp_substr(col,'\d+\-\d+',1,6) || ', Sun: '||regexp_substr(col,'\d+\-\d+',1,7),null) FROM t_view
You should keep in mind that this is just an example, and if you can receive data with any skipped days, you should use nvl2 in more places.