Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
456 views
in Technique[技术] by (71.8m points)

r - 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
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...