Remove/Replace/Extract Numbers

Share:

Description

rm_number - Remove/replace/extract number from a string (works on numbers with commas, decimals and negatives).

as_numeric - A wrapper for as.numeric(gsub(",", "", x)), which removes commas and converts a list of vectors of strings to numeric. If the string cannot be converted to numeric NA is returned.

as_numeric2 - A convenience function for as_numeric that unlists and returns a vector rather than a list.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
rm_number(text.var, trim = !extract, clean = TRUE, pattern = "@rm_number",
  replacement = "", extract = FALSE,
  dictionary = getOption("regex.library"), ...)

as_numeric(x)

as_numeric2(x)

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

replacement

Replacement for matched pattern.

extract

logical. If TRUE the numbers are extracted into a list of vectors.

dictionary

A dictionary of canned regular expressions to search within if pattern begins with "@rm_".

x

a character vector to convert to a numeric vector.

...

Other arguments passed to gsub.

Value

rm_number - Returns a character string with number removed.

as_numeric - Returns a list of vectors of numbers.

as_numeric2 - Returns an unlisted vector of numbers.

References

The number regular expression was created by Jason Gray.

See Also

gsub, stri_extract_all_regex

Other rm_.functions: as_time, as_time2, ex_time, ex_transcript_time, rm_time, rm_transcript_time; ex_abbreviation, rm_abbreviation; ex_angle, ex_bracket, ex_bracket_multiple, ex_curly, ex_round, ex_square, rm_angle, rm_bracket, rm_bracket_multiple, rm_curly, rm_round, rm_square; ex_between, ex_between_multiple, rm_between, rm_between_multiple; ex_caps_phrase, rm_caps_phrase; ex_caps, rm_caps; ex_citation_tex, rm_citation_tex; ex_citation, rm_citation; ex_city_state_zip, rm_city_state_zip; ex_city_state, rm_city_state; ex_date, rm_date; ex_default, rm_default; ex_dollar, rm_dollar; ex_email, rm_email; ex_emoticon, rm_emoticon; ex_endmark, rm_endmark; ex_hash, rm_hash; ex_nchar_words, rm_nchar_words; ex_non_ascii, rm_non_ascii; ex_non_words, rm_non_words; ex_percent, rm_percent; ex_phone, rm_phone; ex_postal_code, rm_postal_code; ex_repeated_characters, rm_repeated_characters; ex_repeated_phrases, rm_repeated_phrases; ex_repeated_words, rm_repeated_words; ex_tag, rm_tag; ex_title_name, rm_title_name; ex_twitter_url, ex_url, rm_twitter_url, rm_url; ex_white, ex_white_bracket, ex_white_colon, ex_white_comma, ex_white_endmark, ex_white_lead, ex_white_lead_trail, ex_white_multiple, ex_white_punctuation, ex_white_trail, rm_white, rm_white_bracket, rm_white_colon, rm_white_comma, rm_white_endmark, rm_white_lead, rm_white_lead_trail, rm_white_multiple, rm_white_punctuation, rm_white_trail; ex_zip, rm_zip

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
x <- c("-2 is an integer.  -4.3 and 3.33 are not.",
    "123,456 is 0 alot -123456 more than -.2", "and 3456789123 fg for 345.",
    "fg 12,345 23 .44 or 18.", "don't remove this 444,44", "hello world -.q")

rm_number(x)
ex_number(x)

##Convert to numeric
as_numeric(ex_number(x))   # retain list
as_numeric2(ex_number(x))  # unlist

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.