fork download
  1. regex.escape <- function(string) {
  2. gsub("([][{}()+*^${|\\\\?.])", "\\\\\\1", string)
  3. }
  4. sort.by.length.desc <- function (v) v[order( -nchar(v)) ]
  5.  
  6. name <- c('Mrs. Emily S', 'Dr. Richard L', 'Dr. Drake D', 'Mr. Mrdrmsmrs', 'Test Name')
  7. prefix <- c('Dr.', 'Mr.', 'Ms.', 'Mrs.', 'Capt.')
  8. prefix <- sort.by.length.desc(prefix)
  9. res <- trimws(gsub(paste0("^(?:",paste(regex.escape(prefix), collapse="|"), ")"), '', name, perl="TRUE"))
  10. res
Success #stdin #stdout 0.22s 39112KB
stdin
Standard input is empty
stdout
[1] "Emily S"   "Richard L" "Drake D"   "Mrdrmsmrs" "Test Name"