我在变量resHeaders
中有一个字符串列表:
> resHeaders
[1] "Rodrigu12ez/Schoofs 1 0 15 123 Jakupo15vic/Khromacheva 0 0 15 15 "
[2] "Mariano Kestelboim 0 6 Gonzalo Lama 0 6 "
[3] "Alexander Ward 0 4 40 Luke Bambridge 0 2 30"
[4] "Lucas Pouille 0 0 0 Steve Darcis 0 0 0"
我想在中间和结尾提取数字 结果应该是这样的:
> resHeaders
[1] 1 0 15 123 0 0 15 15
[2] 0 6 0 6
[3] 0 4 40 0 2 30
[4] 0 0 0 0 0 0
答案 0 :(得分:0)
我们可以使用str_extract_all
中的stringr
来提取所有数字。由于要提取的数字遵循字符串之前或之后(或字符串末尾)的空格,我们可以使用正则表达式的外观。输出将是list
的{{1}}。使用vector
循环遍历list
并将字符串转换为lapply
class
numeric
library(stringr)
lapply(str_extract_all(resHeaders, "(?<=\\s)\\d+(?=(\\s|\\b))"), as.numeric)
#[[1]]
#[1] 1 0 15 123 0 0 15 15
#[[2]]
#[1] 0 6 0 6
#[[3]]
#[1] 0 4 40 0 2 30
#[[4]]
#[1] 0 0 0 0 0 0