2011/4/25 Gonçalo Ferraz <gferra...@gmail.com>: > Hi, I have a string > > "InTrouble" > > and want to extract, say, the first two characters: "In" > or the last three: "blee" > or the 3rd, 4th, and 5th: "Trou" > > Is there an easy way of doing this quickly with regular expressions in gsub, > grep or similar? >
strapply in gsubfn can readily do that. It returns the matched part or, if parentheses are used, only the part in parentheses: > library(gsubfn) > strapply("InTrouble", "^..", simplify = TRUE) [1] "In" > strapply("InTrouble", "...$", simplify = TRUE) [1] "ble" > strapply("InTrouble", "^..(...)", simplify = TRUE) [1] "Tro" > strapply("InTrouble", "^.{2}(.{3})", simplify = TRUE) [1] "Tro" -- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com ______________________________________________ R-help@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.