Remove/Replace/Extract Time

Usage

rm_time(text.var, trim = !extract, clean = TRUE, pattern = "@rm_time", replacement = "", extract = FALSE, dictionary = getOption("regex.library"), ...)

Arguments

text.var
The text variable.
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_time uses the rm_time regex from the regular expression dictionary from the dictionary argument.
replacement
Replacement for matched pattern.
extract
logical. If TRUE the times 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.

Value

Returns a character string with time removed.

Description

Remove/replace/extract time from a string.

Details

The default regular expression used by rm_time finds time with no AM/PM. This behavior can be altered by using a secondary regular expression from the regex_usa data (or other dictionary) via (pattern = "@rm_time2". See Examples for example usage.

References

The time regular expression was taken from: http://stackoverflow.com/a/25111133/1000343

Examples

x <- c("R uses 1:5 for 1, 2, 3, 4, 5.", "At 3:00 we'll meet up and leave by 4:30:20", "We'll meet at 6:33.", "He ran it in :22.34") rm_time(x)
[1] "R uses 1:5 for 1, 2, 3, 4, 5." "At we'll meet up and leave by" "We'll meet at ." "He ran it in"
rm_time(x, extract=TRUE)
[[1]] [1] NA [[2]] [1] "3:00" "4:30:20" [[3]] [1] "6:33" [[4]] [1] ":22.34"
## With AM/PM x <- c( "I'm getting 3:04 AM just fine, but...", "for 10:47 AM I'm getting 0:47 AM instead.", "no time here", "Some time has 12:04 with no AM/PM after it", "Some time has 12:04 a.m. or the form 1:22 pm" ) rm_time(x, extract=TRUE)
[[1]] [1] "3:04" [[2]] [1] "10:47" "0:47" [[3]] [1] NA [[4]] [1] "12:04" [[5]] [1] "12:04" "1:22"
rm_time(x, pat="@rm_time2", extract=TRUE)
[[1]] [1] "3:04 AM" [[2]] [1] "10:47 AM" "0:47 AM" [[3]] [1] NA [[4]] [1] NA [[5]] [1] "12:04 a.m." "1:22 pm"
rm_time(x, pat="@rm_time2")
[1] "I'm getting just fine, but..." "for I'm getting instead." [3] "no time here" "Some time has 12:04 with no AM/PM after it" [5] "Some time has or the form"
rm_time(x, pat=pastex("@rm_time2", "@rm_time"), extract=TRUE)
[[1]] [1] "3:04 AM" [[2]] [1] "10:47 AM" "0:47 AM" [[3]] [1] NA [[4]] [1] "12:04" [[5]] [1] "12:04 a.m." "1:22 pm"