【发布时间】:2018-08-21 01:10:48
【问题描述】:
这是目录:
df <- tibble(ToC=
c("3.1 texta.............. 22",
"3.2 textb 25",
"section 6 ................. 50",
"section 10.2 65"))
我想将内容及其各自的页码提取为两个变量。我尝试了以下方法,但无法正常工作。
library(tidyverse); library(stringr)
df_toc <- df %>%
mutate(page = as.numeric(str_extract(ToC, "[0-9]+")))
正确的页码应该是 22、25、50 和 65。我应该如何解决这个问题?
【问题讨论】:
-
几个cmets:(1)如果使用
library(tidyverse),则不需要library(stringr); (2) 最好不要使用df作为变量名,以免与同名函数混淆。 -
你快到了..你只需要在你的正则表达式中使用
$来指示字符串的结尾。df %>% mutate(page = as.numeric(str_extract(ToC, "[0-9]+$"))) -
好的。谢谢你,罗纳克沙阿!
标签: r tidyverse stringr stringi