Questo problema è relativamente semplice, potresti risolverlo cosi :
1) crea una funzione che prende la stringa ora per esempio : hourFix(hour){...}
2) utilizza hour.replaceAll() per trasformare i segni '-' in segni con spazi ' - '
3) cattura in una variabile hourToFix il contenuto centrale dell'orario tramite un'espressione regolare
hour.match(/:\d+:/g) per ottenere [ ':0016:' ]
4) crea una varibile hourToReplace da hourToFix.join().split('')
per ottenere una array di questo tipo [ ':', '0', '0', '1', '6', ':' ]
5) utilizza il metodo splice() su hourToReplace per inserire uno spazio nell'array in questo modo:
hourToReplace.splice(3,0,' ')
6) trasforma hourToReplace nuovamente in stringa con il metodo .join() per ottenere una stringa
':00 16:'
7) utilizza il medoto .replace(hourToFix,hourToReplace) per cambiare la parte centrale dell'orario
8) ritorna hour
dunque quando richiama la funzione in questo modo:
const newHour = hourFix('8:30-13:0016:30-20:00')
console.log(newHour) // 8:30 - 13:00 16:30 - 20:00