Remove/Replace/Extract Non-ASCII

Usage

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

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_ascii uses the rm_non_ascii regex from the regular expression dictionary from the dictionary argument. If extract = FALSE gsub is not used as with other rm_XXX functions, rather iconv with the sub argument set is used to conduct the subbing.
replacement
Replacement for matched pattern.
extract
logical. If TRUE the all non-ASCII strings are extracted into a list of vectors.
dictionary
A dictionary of canned regular expressions to search within if pattern begins with "@rm_".
ascii.out
logical. If TRUE output is given in non-ASCII format, otherwise "byte" is used.
...
ignored.

Value

Returns a character string with "all caps" removed.

Description

Remove/replace/extract non-ASCII substring from a string. This is the template used by other qdapRegex rm_XXX functions.

Warning

iconv is used within rm_non_ascii. iconv's behavior across operating systems may not be consistent.

References

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

Examples

x <- c("Hello World", "Ekstr\xf8m", "J\xf6reskog", "bi\xdfchen Z\xfcrcher") Encoding(x) <- "latin1" x
[1] "Hello World" "Ekstrøm" "Jöreskog" "bißchen Zürcher"
rm_non_ascii(x)
[1] "Hello World" "Ekstrm" "Jreskog" "bichen Zrcher"
rm_non_ascii(x, replacement="<<FLAG>>")
[1] "Hello World" "Ekstr<<FLAG>>m" "J<<FLAG>>reskog" "bi<<FLAG>>chen Z<<FLAG>>rcher"
rm_non_ascii(x, extract=TRUE)
[[1]] [1] NA [[2]] [1] "<f8>" [[3]] [1] "<f6>" [[4]] [1] "<df>" "<fc>"
rm_non_ascii(x, extract=TRUE, ascii.out=FALSE)
[[1]] [1] NA [[2]] [1] "ø" [[3]] [1] "ö" [[4]] [1] "ß" "ü"