baptiste
baptiste

Reputation: 77116

stringr extract full number from string

From ?stringr::str_extract, I tried

 library(stringr)
 str_extract("number 123", "\\d")
 # [1] "1"

but I'd like the full number 123. I couldn't find the correct regular expression, or another function to perform this task. My workaround is a bit ugly,

as.numeric(str_split("number 123", " ")[[1]][2])
# [1] 123

Upvotes: 7

Views: 15036

Answers (1)

Josh O'Brien
Josh O'Brien

Reputation: 162411

For this particular example, the following regular expression works:

pat <- "(\\d)+"
as.numeric(str_extract("number 123", pat))
# [1] 123

If you want to only pick out numbers that terminate the text string that they are in, add a $ to the end of the pattern above.

Upvotes: 16

Related Questions