Remove/Replace/Extract Email Addresses

Usage

rm_email(text.var, trim = !extract, clean = TRUE, pattern = "@rm_email", 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. Default, @rm_email uses the rm_email regex from the regular expression dictionary from the dictionary argument.
replacement
Replacement for matched pattern.
extract
logical. If TRUE the emails 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 email addresses removed.

Description

Remove/replace/extract email addresses from a string.

References

The email regular expression was taken from: http://stackoverflow.com/a/25077704/1000343

Examples

x <- paste("fred is fred@foo.com and joe is joe@example.com - but @this is a twitter handle for twit@here.com or foo+bar@google.com/fred@foo.fnord") x2 <- c("fred is fred@foo.com and joe is joe@example.com - but @this is a", "twitter handle for twit@here.com or foo+bar@google.com/fred@foo.fnord", "hello world") rm_email(x)
[1] "fred is and joe is - but @this is a twitter handle for or /"
rm_email(x, replacement = '<a href="mailto:\\1" target="_blank">\\1</a>')
[1] "fred is <a href=\"mailto:fred@foo.com\" target=\"_blank\">fred@foo.com</a> and joe is <a href=\"mailto:joe@example.com\" target=\"_blank\">joe@example.com</a> - but @this is a twitter handle for <a href=\"mailto:twit@here.com\" target=\"_blank\">twit@here.com</a> or <a href=\"mailto:foo+bar@google.com\" target=\"_blank\">foo+bar@google.com</a>/<a href=\"mailto:fred@foo.fnord\" target=\"_blank\">fred@foo.fnord</a>"
rm_email(x, extract=TRUE)
[[1]] [1] "fred@foo.com" "joe@example.com" "twit@here.com" "foo+bar@google.com" "fred@foo.fnord"
rm_email(x2, extract=TRUE)
[[1]] [1] "fred@foo.com" "joe@example.com" [[2]] [1] "twit@here.com" "foo+bar@google.com" "fred@foo.fnord" [[3]] [1] NA