stringr正则表达式为第一个完整* .zip文件名

时间:2016-02-13 08:22:07

标签: r stringr

我有以下代码:

test_zip_col          <- "daily_44201_2015.zip259,151 Rows2,958 KBAs of 2015-11-27"
test_zip_col2         <- str_extract(test_zip_col, '^*\\.zip$')
test_zip_col
test_zip_col2

我想提取*.zip文件名的第一个出现。在这个例子中,我希望提取:

"daily_44201_2015.zip"

有人可以解释如何修改我的str_extract代码,使其不会产生NA值吗?

2 个答案:

答案 0 :(得分:0)

library(stringr)
test_zip_col          <- "daily_44201_2015.zip259,151 Rows2,958 KBAs of 2015-11-27"
loc<-str_locate(test_zip_col,".zip") ## Locate the ".zip"
str_sub(test_zip_col,start=1, end=loc[,2]) # Substring 

[1] "daily_44201_2015.zip"

答案 1 :(得分:0)

我们可以使用sub

sub('(.*\\.zip).*', '\\1', test_zip_col)
#[1] "daily_44201_2015.zip"