我想在stringr包中使用str_extract从XX nights etcetc
形式的字符串中提取数字。
我目前正在这样做:
library(stringr)
str_extract("17 nights$5 Days", "(\\d)+ nights")
但这又回来了
"17 nights"
而不是
17
。如何只提取数字?我以为用括号指定提取组会起作用,但是没有用。
最佳答案
您可以使用前瞻性正则表达式(?=)
library(stringr)
str_extract("17 nights$5 Days", "(\\d)+(?= nights)")
(?<=)
后面的外观也可以派上用场。一个很好的参考是Rstudio网站的备忘单:https://github.com/rstudio/cheatsheets/raw/master/regex.pdf