从R中的字符串中提取文本

时间:2015-02-26 16:33:07

标签: r string extract

我有很多看起来很相似的字符串,例如:

x1= "Aaaa_11111_AA_Whatiwant.txt"
x2= "Bbbb_11111_BBBB_Whatiwanttoo.txt"
x3= "Ccc_22222_CC_Whatiwa.txt"

我想在R中提取:WhatiwantWhatiwanttooWhatiwa

我从substring(x1,15,23)开始,但我不知道如何概括它。如何始终在最后_.txt

之间提取部分

谢谢!

2 个答案:

答案 0 :(得分:2)

您可以使用regexp捕获组:

gsub(".*_([^_]*)\\.txt","\\1",x1)

enter image description here

答案 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"