2019-03-08
阅读量:
1330
gsub / sub在某些字符之间提取
如何从R中的以下字符串中提取数字/ ID?
link <- "D:/temp/sample_data/0000098618-13-000011.htm"
我想提取 0000098618-13-000011
那是丢弃.htm和D:/temp/sample_data/。
我没有太多运气试过grep和gsub。
解决办法:使用basename后跟sub:
sub("\\..*", "", basename(link))
## [1] "0000098618-13-000011"
要么
library(tools)
file_path_sans_ext(link)
## [1] "0000098618-13-000011"
或者以更复杂的模式为代价,我们可以在一个单独的模式中完成sub:
sub(".*/(.*)\\..*", "\\1", link)
## [1] "0000098618-13-000011"
或单个gsub:
gsub(".*/|\\.[^.]*$", "", link)
## [1] "0000098618-13-000011"
或者strsplit:
sapply(strsplit(link, "[/.]"), function(x) tail(x, 2)[1])
## [1] "0000098618-13-000011"
8.6399
1
3
关注作者
收藏
评论(0)
发表评论
暂无数据
推荐帖子
0条评论
0条评论
1条评论