我有很多看起来很相似的字符串,例如:
x1= "Aaaa_11111_AA_Whatiwant.txt"
x2= "Bbbb_11111_BBBB_Whatiwanttoo.txt"
x3= "Ccc_22222_CC_Whatiwa.txt"
我想在R中提取:Whatiwant
,Whatiwanttoo
和Whatiwa
我从substring(x1,15,23)
开始,但我不知道如何概括它。如何始终在最后_
和.txt
?
谢谢!
答案 0 :(得分:2)
您可以使用regexp
捕获组:
gsub(".*_([^_]*)\\.txt","\\1",x1)
答案 1 :(得分:0)
您也可以将字符串库与str_extract(以及许多其他可能性)等函数一起使用,以防您不能进入正则表达式。它非常容易使用
x1= "Aaaa_11111_AA_Whatiwant.txt"
x2= "Bbbb_11111_BBBB_Whatiwanttoo.txt"
x3= "Ccc_22222_CC_Whatiwa.txt"
library(stringr)
patron <- "(What)[a-z]+"
str_extract(x1, patron)
## [1] "Whatiwant"
str_extract(x2, patron)
## [1] "Whatiwanttoo"
str_extract(x3, patron)
## [1] "Whatiwa"