qdapRegex (version 0.7.2)

rm_tag: Remove/Replace/Extract Person Tags

Description

Remove/replace/extract person tags from a string.

Usage

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

ex_tag(text.var, trim = !extract, clean = TRUE, pattern = "@rm_tag", replacement = "", extract = TRUE, 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_tag uses the rm_tag regex from the regular expression dictionary from the dictionary argument.

replacement

Replacement for matched pattern.

extract

logical. If TRUE the person tags 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 person tags removed.

Details

The default regex pattern "(?<![@\w])@([a-z0-9_]+)\b" is more liberal and searches for the at (@) symbol followed by any word. This can be accessed via pattern = "@rm_tag". Twitter user names are more constrained. A second regex ("(?<![@\w])@([a-z0-9_]{1,15})\b") is provide that contains the latter word to substring that begins with an at (@) followed by a word composed of alpha-numeric characters and underscores, no longer than 15 characters. This can be accessed via pattern = "@rm_tag2" (see Examples).

See Also

gsub, stri_extract_all_regex

Other rm_ functions: rm_abbreviation, rm_between, rm_bracket, rm_caps_phrase, rm_caps, rm_citation_tex, rm_citation, rm_city_state_zip, rm_city_state, rm_date, rm_default, rm_dollar, rm_email, rm_emoticon, rm_endmark, rm_hash, rm_nchar_words, rm_non_ascii, rm_non_words, rm_number, rm_percent, rm_phone, rm_postal_code, rm_repeated_characters, rm_repeated_phrases, rm_repeated_words, rm_time, rm_title_name, rm_url, rm_white, rm_zip

Examples

Run this code
# NOT RUN {
x <- c("@hadley I like #rstats for #ggplot2 work.",
    "Difference between #magrittr and #pipeR, both implement pipeline operators for #rstats:
        http://renkun.me/r/2014/07/26/difference-between-magrittr-and-pipeR.html @timelyportfolio",
    "Slides from great talk: @ramnath_vaidya: Interactive slides from Interactive Visualization
        presentation #user2014. http://ramnathv.github.io/user2014-rcharts/#1",
    "tyler.rinker@gamil.com is my email", 
    "A non valid Twitter is @abcdefghijklmnopqrstuvwxyz"
)

rm_tag(x)
rm_tag(rm_hash(x))
ex_tag(x)

## more restrictive Twitter regex
ex_tag(x, pattern="@rm_tag2") 

## Remove only the @ sign
rm_tag(x, replacement = "\\3")
rm_tag(x, replacement = "\\3", pattern="@rm_tag2")
# }

Run the code above in your browser using DataLab