Dimitri Liakhovitski
2011-Jul-29 16:08 UTC
[R] splitting a string based on the last underscore
Hello!
Hope you could help me split the strings.
I have a set of strings:
x<-c("name_a1_2.5.o","name_a2_2.53.o","name_a3_bla_1.o")
I need to extract from each string:
1. Its unique part that comes before the last "_", i.e.:
"a1","a2","a3_bla".
2. The part that comes after the last "_" and before ".o" at
the end,
i.e.: 2.5, 2.53, 1.
Thank you so much for your help!
--
Dimitri Liakhovitski
marketfusionanalytics.com
try this:> x<-c("name_a1_2.5.o","name_a2_2.53.o","name_a3_bla_1.o") > strsplit(sub(".*?([^_]+)_([^-]+).o$", "\\1 \\2", x), ' ')[[1]] [1] "a1" "2.5" [[2]] [1] "a2" "2.53" [[3]] [1] "bla" "1">On Fri, Jul 29, 2011 at 12:08 PM, Dimitri Liakhovitski <dimitri.liakhovitski at gmail.com> wrote:> Hello! > Hope you could help me split the strings. > > I have a set of strings: > > x<-c("name_a1_2.5.o","name_a2_2.53.o","name_a3_bla_1.o") > > I need to extract from each string: > > 1. Its unique part that comes before the last "_", i.e.: "a1","a2","a3_bla". > 2. The part that comes after the last "_" and before ".o" at the end, > i.e.: 2.5, 2.53, 1. > > Thank you so much for your help! > > -- > Dimitri Liakhovitski > marketfusionanalytics.com > > ______________________________________________ > 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. >-- Jim Holtman Data Munger Guru What is the problem that you are trying to solve?