第一个完整的*.zip文件名的stringr正则表达式
我有以下代码:第一个完整的*.zip文件名的stringr正则表达式,r,stringr,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 谁能解释一下如何修改我的stru extract代码,使其不产生NA值?库(stringr) library(strin
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
谁能解释一下如何修改我的stru extract
代码,使其不产生NA
值?库(stringr)
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"
我们可以使用sub
sub('(.*\\.zip).*', '\\1', test_zip_col)
#[1] "daily_44201_2015.zip"
使用stringi
首先是stringi::stri\u extract\u(test\u zip\u col,regex=“.\\\.zip”)
Hi-谢谢。根据你的建议,我修改并使用了stringr::str\u extract(string=test\u zip\u col,pattern=“.\\\.zip”)
,效果很好。如果您将此作为答案提交,我可以接受,因为这是提供的解决方案中最简单的一个,在一个字符串中包含多个zip文件的情况下,它不会为您提供第一个zip文件。它与stringi一起工作,因为有一个特殊的函数来提取第一个匹配项,而不是在stringr中。我可以只对第一个匹配项进行子集,对吗?
sub('(.*\\.zip).*', '\\1', test_zip_col)
#[1] "daily_44201_2015.zip"