Try this: > x <- c("349/077,349/074,349/100,349/117", + "340/384.2,340/513,367/139,455/128,D13/168", + "600/437,128/903,128/904") > > library(gsubfn) > out <- strapply(x, '([0-9]+)(?=/)') > out [[1]] [1] "349" "349" "349" "349"
[[2]] [1] "340" "340" "367" "455" "13" [[3]] [1] "600" "128" "128" The strapply looks for the pattern then returns every time it finds the pattern. The pattern in this case is 1 or more digits that are followed by a /, but the slash is not included in the matched portion (a positive look ahead). If you need more than digits you can modify the pattern to whatever matches before the /. Hope this helps, -- Gregory (Greg) L. Snow Ph.D. Statistical Data Center Intermountain Healthcare greg.s...@imail.org 801.408.8111 > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-bounces@r- > project.org] On Behalf Of Dick Harray > Sent: Friday, February 04, 2011 8:37 AM > To: r-help@r-project.org > Subject: [R] lapply, strsplit, and list elements > > Hi there, > > I have a problem about lapply, strsplit, and accessing list elements, > which I don't understand or cannot solve: > > I have e.g. a character vector with three elements: > > x = c("349/077,349/074,349/100,349/117", > "340/384.2,340/513,367/139,455/128,D13/168", > "600/437,128/903,128/904") > > > The task I want to perform, is to generate a list, comprising the > portion in front of the "/" of each element of x: > > neededResult = list(c("349","349", "349", "349"), > c("340", "340", "367", "455", "D13"), > c("600", "128", "128") ) > > > I figured out that for a single element of x the following works > > unlist( lapply( strsplit( unlist( strsplit(x[1], "\\,") ), "/"), "[", > 1) ) > > but due to "unlist" it doesn't provide the required result if extended > to all elements of x > > unlist(lapply(strsplit( unlist( lapply(x, strsplit, "\\,")), "/"), > "[",)) > > > Someone can help me to get the needed result? > > Thanks and regards, > > Dirk > > ______________________________________________ > 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. ______________________________________________ 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.