给定一些数据
hello <- c('13.txt','12.txt','14.txt')
我只想取数字并转换为数字,即删除 .txt
你想file_path_sans_ext
从tools
包里
library(tools)
hello <- c('13.txt','12.txt','14.txt')
file_path_sans_ext(hello)
## [1] "13" "12" "14"
您可以使用原始帖子中“hello”对象上的函数 gsub 使用正则表达式来执行此操作。
hello <- c('13.txt','12.txt','14.txt')
as.numeric(gsub("([0-9]+).*","\\1",hello))
#[1] 13 12 14
另一个正则表达式解决方案
hello <- c("13.txt", "12.txt", "14.txt")
as.numeric(regmatches(hello, gregexpr("[0-9]+", hello)))
## [1] 13 12 14
如果你知道你的扩展都是.txt
那么你可以使用substr()
> hello <- c('13.txt','12.txt','14.txt')
> as.numeric(substr(hello, 1, nchar(hello) - 3))
#[1] 13 12 14