7

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
baptiste
  • 75,767
  • 19
  • 198
  • 294

1 Answers1

16

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.

Josh O'Brien
  • 159,210
  • 26
  • 366
  • 455