parseSheetName <- function(sheets) {

  ## Remove the word 'DMV'  (Digital Mobile Video -- archaic)
  sheets <- gsub(" DMV ", " ", sheets)

  ## Confirm all have the word "Revenue" then remove it 
  # if (!all(grepl("Revenue", sheets)))
  #   stop ("Not all sheets contain the word 'Revenue'\n")
  ## ... and remove it
  sheets <- gsub("\\s*Revenue", "", sheets)

  ## replace 'Sept' with 'Sep'
  sheets <- gsub("[Ss]ept\\s*(\\d)", "Sep \\1", sheets)

  ## Ensure there is a space before the month number
  sheets <- gsub("([A-Za-z]+) *(\\d{4})$", "\\2-\\1", sheets)
  sheets <- gsub("([A-Za-z]+) *(\\d{2})$", "20\\2-\\1", sheets)
  sheets

  ## Replace Long months with short months
  for (i in seq(month.abb)) {
    sheets <- gsub(month.name[[i]], month.abb[[i]], sheets, ignore.case=TRUE)
    sheets <- gsub(month.abb[[i]], sprintf("%02i", i), sheets, ignore.case=TRUE)
  }

  ## return
  nms <- names(sheets)
  ret <- as.Date(paste0(sheets, "-01"))
  names(ret) <- nms
  return(ret)
}