str_nth_non_numeric {strex} | R Documentation |
Extract the n
th non-numeric substring from a string.
Description
Extract the n
th non-numeric bit of a string where numbers are optionally
defined with decimals, scientific notation and thousand separators.
-
str_first_non_numeric(...)
is juststr_nth_non_numeric(..., n = 1)
. -
str_last_non_numeric(...)
is juststr_nth_non_numeric(..., n = -1)
.
Usage
str_nth_non_numeric(
string,
n,
decimals = FALSE,
leading_decimals = decimals,
negs = FALSE,
sci = FALSE,
big_mark = "",
commas = FALSE
)
str_first_non_numeric(
string,
decimals = FALSE,
leading_decimals = decimals,
negs = FALSE,
sci = FALSE,
big_mark = "",
commas = FALSE
)
str_last_non_numeric(
string,
decimals = FALSE,
leading_decimals = decimals,
negs = FALSE,
sci = FALSE,
big_mark = ""
)
Arguments
string |
A string. |
n |
A vector of integerish values. Must be either length 1 or
have length equal to the length of |
decimals |
Do you want to include the possibility of decimal numbers
( |
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. |
big_mark |
A character. Allow this character to be used as a thousands
separator. This character will be removed from between digits before they
are converted to numeric. You may specify many at once by pasting them
together e.g. |
commas |
Deprecated. Use |
See Also
Other non-numeric extractors:
str_extract_non_numerics()
Examples
strings <- c(
"abc123def456", "abc-0.12def.345", "abc.12e4def34.5e9",
"abc1,100def1,230.5", "abc1,100e3,215def4e1,000"
)
str_nth_non_numeric(strings, n = 2)
str_nth_non_numeric(strings, n = -2, decimals = TRUE)
str_first_non_numeric(strings, decimals = TRUE, leading_decimals = FALSE)
str_last_non_numeric(strings, big_mark = ",")
str_nth_non_numeric(strings,
n = 1, decimals = TRUE, leading_decimals = TRUE,
sci = TRUE
)
str_first_non_numeric(strings,
decimals = TRUE, leading_decimals = TRUE,
sci = TRUE, big_mark = ",", negs = TRUE
)
str_first_non_numeric(c("22", "1.2.3"), decimals = TRUE)