Remove/Replace/Extract Non-Words

Usage

rm_non_words(text.var, trim = !extract, clean = TRUE, pattern = "@rm_non_words", 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_non_words uses the rm_non_words regex from the regular expression dictionary from the dictionary argument.
replacement
Replacement for matched pattern (Note: default is " ", whereas most qdapRegex functions replace with "").
extract
logical. If TRUE the non-words 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 non-words removed.

Description

rm_non_words - Remove/replace/extract non-words (Anything that's not a letter or apostrophe; also removes multiple white spaces) from a string.

Note

Setting the argument extract = TRUE is not very useful. Use the following setup instead (see Examples for a demonstration).

rm_default(x, pattern = "[^A-Za-z' ]", extract=TRUE)

Examples

x <- c( "I like 56 dogs!", "It's seventy-two feet from the px290.", NA, "What", "that1is2a3way4to5go6.", "What do you*% want? For real%; I think you'll see.", "Oh some <html>code</html> to remove" ) rm_non_words(x)
[1] "I like dogs" "It's seventy two feet from the px" [3] NA "What" [5] "that is a way to go" "What do you want For real I think you'll see" [7] "Oh some html code html to remove"
rm_non_words(x, extract=TRUE)
[[1]] [1] " " " 56 " "!" [[2]] [1] " " "-" " " " " " " " " "290." [[3]] [1] NA [[4]] [1] NA [[5]] [1] "1" "2" "3" "4" "5" "6." [[6]] [1] " " " " "*% " "? " " " "%; " " " " " " " "." [[7]] [1] " " " <" ">" "</" "> " " "
## For extraction purposes the following setup is more useful: rm_default(x, pattern = "[^A-Za-z' ]", extract=TRUE)
[[1]] [1] "5" "6" "!" [[2]] [1] "-" "2" "9" "0" "." [[3]] [1] NA [[4]] [1] NA [[5]] [1] "1" "2" "3" "4" "5" "6" "." [[6]] [1] "*" "%" "?" "%" ";" "." [[7]] [1] "<" ">" "<" "/" ">"