Un ensemble de fichiers a été nommé en fonction de leur durée. Par exemple, "832-34" signifie 08h32 à 08h34. Le trait d'union est utilisé dans tous les noms de fichiers, comment puis-je en extraire l'heure?

r
0
Gaurav Khemka 4 nov. 2019 à 12:55

1 réponse

Cette solution est basée sur le seul exemple existant ci-dessus. Il n'y a aucune garantie pour travailler sous d'autres constellations.

t <- "832-34"

t_from <- sub("-.*", "", t)
t_from <- gsub('^(.{-3})(.*)$', '\\1:\\2', t_from)
t_from <- as.POSIXct(t_from,format="%H:%M")

t_to <- sub(".*-", "", t)
t_to <- paste0(hour(t_from), ":",t_to)
t_to <-  as.POSIXct(t_to,format="%H:%M")

paste(format(t_from, '%H:%M'), "to", format(t_to, '%H:%M'))
0
Fateta 4 nov. 2019 à 11:22