Try this:

strsplit(x, "/\\d+\\.\\d+,|/\\d+,|/\\d+")

On Fri, Feb 4, 2011 at 1:37 PM, Dick Harray <tomdharray@gmail.com> wrote:

> 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.
>



-- 
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40" S 49° 16' 22" O

	[[alternative HTML version deleted]]

