Remove/replace/extract dates from a string in the form of (1) XX/XX/XXXX, XX/XX/XX, XX-XX-XXXX, XX-XX-XX, XX.XX.XXXX, or XX.XX.XX OR (2) March XX, XXXX or Mar XX, XXXX OR (3) both forms.
trim: logical. If TRUE removes leading and trailing white spaces.
clean: trim logical. If TRUE extra white spaces and escaped character will be removed.
pattern: A character string containing a regular expression (or character string for fixed = TRUE) to be matched in the given character vector (see Details for additional information). Default, @rm_date uses the rm_date regex from the regular expression dictionary from the dictionary argument.
replacement: Replacement for matched pattern.
extract: logical. If TRUE the dates are extracted into a list of vectors.
dictionary: A dictionary of canned regular expressions to search within if pattern begins with "@rm_".
...: Other arguments passed to gsub.
Returns
Returns a character string with dates removed.
Details
The default regular expression used by rm_date finds numeric representations not word/abbreviations. This means that "June 13, 2002" is not matched. This behavior can be altered (to include month names/abbreviations) by using a secondary regular expression from the regex_usa data (or other dictionary) via (pattern = "@rm_date2", pattern = "@rm_date3", or pattern = "@rm_date4"). See Examples for example usage.
Examples
## Numeric Date Representationx <- paste0("Format dates as 04/12/2014, 04-12-2014, 04.12.2014. or"," 04/12/14 but leaves mismatched: 12.12/2014")rm_date(x)ex_date(x)## Word/Abbreviation Date Representationx2 <- paste0("Format dates as Sept 09, 2002 or October 22, 1887","but not 04-12-2014 and may match good 00, 9999")rm_date(x2, pattern="@rm_date2")ex_date(x2, pattern="@rm_date2")## Year-Month-Day Representationx3 <- sprintf("R uses time in this format %s.", Sys.time())rm_date(x3, pattern="@rm_date3")## Grab all typesex_date(c(x, x2, x3), pattern="@rm_date4")