啊啊啊啊啊吖

2019-03-08   阅读量: 942

数据分析师 R语言

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"

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
8.6399 1 3 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子