[R] Regex - subsetting parts of a file name.
arun
smartpink111 at yahoo.com
Thu Jul 31 17:08:57 CEST 2014
Try:
gsub(".*\\.(.*)\\..*","\\1", my.cache.list)
[1] "subject_test" "subject_train" "y_test" "y_train"
#or
library(stringr)
str_extract(my.cache.list, perl('(?<=\\.).*(?=\\.)'))
[1] "subject_test" "subject_train" "y_test" "y_train"
A.K.
On Thursday, July 31, 2014 11:05 AM, arnaud gaboury <arnaud.gaboury at gmail.com> wrote:
A directory is full of data.frames cache files. All these files have
the same pattern:
df.some_name.RData
my.cache.list <- c("df.subject_test.RData", "df.subject_train.RData",
"df.y_test.RData",
"df.y_train.RData")
I want to keep only the part inside the two points. After lots of
headache using grep() when trying something like this:
grep('.(.*?).','df.subject_test.RData',value=T)
I couldn't find a clean one liner and found this workaround:
my.cache.list <- gsub('df.','',my.cache.list)
my.cache.list <- gsub('.RData','',my.cache.list)
The two above commands do the trick, but a clean one line with some
regex expression would be a more "elegant" way.
Does anyone have any suggestion ?
TY for help
______________________________________________
R-help at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list