我有流动的文字字符串:
string <- "['CBOE SHORT-TERM VIX FUTURE DEC 2016', 81.64],\n\n ['CBOE SHORT-TERM VIX FUTURE JAN 2017', 18.36]"
有没有一种简单的方法可以从文本中提取数字元素而无需使用:
string_table <- strsplit(string, " ")
然后选择第n个元素,继续strsplit
直到我拥有所需的元素。
结果应该是:
result <- c(2016, 81, 64, 2017, 18, 36)
谢谢你。
我们可以str_extract_all
通过将模式指定为一个或多个数字([0-9]+
)来使用。输出将是list
长度为1的a,使用提取向量[[
并转换为numeric
。
library(stringr)
as.numeric(str_extract_all(string, "[0-9]+")[[1]])
#[1] 2016 81 64 2017 18 36
如果使用strsplit
,请用非数字字符分割
as.numeric(strsplit(string, "\\D+")[[1]][-1])
#[1] 2016 81 64 2017 18 36
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句