R: Extract non-numbers from a string.

str_extract_non_numerics {strex} | R Documentation

## Extract non-numbers from a string.

### Description

Extract the non-numeric bits of a string where numbers are optionally defined with decimals, scientific notation and commas (as separators, not as an alternative to the decimal point).

### Usage

    str_extract_non_numerics(string, decimals = FALSE,
      leading_decimals = decimals, negs = FALSE, sci = FALSE,
      commas = FALSE)

### Arguments

`string` | A string.
`decimals` | Do you want to include the possibility of decimal numbers (`TRUE`) or not (`FALSE`, the default).
`leading_decimals` | Do you want to allow a leading decimal point to be the start of a number?
`negs` | Do you want to allow negative numbers? Note that double negatives are not handled here (see the examples).
`sci` | Make the search aware of scientific notation e.g. 2e3 is the same as 2000.
`commas` | Allow comma separators in numbers (i.e. interpret 1,100 as a single number (one thousand one hundred) rather than two numbers (one and one hundred)).

### Details

- `str_first_non_numeric(...)` is just `str_nth_non_numeric(..., n = 1)`.

- `str_last_non_numeric(...)` is just `str_nth_non_numeric(..., n = -1)`.

### See Also

Other non-numeric extractors: `str_nth_non_numeric`

### Examples

    strings <- c(
      "abc123def456", "abc-0.12def.345", "abc.12e4def34.5e9",
      "abc1,100def1,230.5", "abc1,100e3,215def4e1,000"
    )
    str_extract_non_numerics(strings)
    str_extract_non_numerics(strings, decimals = TRUE, leading_decimals = FALSE)
    str_extract_non_numerics(strings, decimals = TRUE)
    str_extract_non_numerics(strings, commas = TRUE)
    str_extract_non_numerics(strings,
      decimals = TRUE, leading_decimals = TRUE,
      sci = TRUE
    )
    str_extract_non_numerics(strings,
      decimals = TRUE, leading_decimals = TRUE,
      sci = TRUE, commas = TRUE, negs = TRUE
    )
    str_extract_non_numerics(c("22", "1.2.3"), decimals = TRUE)

[Package strex version 1.2.0 Index]