[R] Splitting a character vector.
Jeff Newmiller
jdnewmil at dcn.davis.CA.us
Sun Jul 8 00:12:16 CEST 2012
Just to clarify, the regex engine wants to see a \ before the ( if it is to treat it as an ordinary character. However, the source code interpreter also treats \ as an escape character. In order to get a \ into the string, you have to escape it. So it takes two \ characters in source code to obtain one \ character in memory where the regex code can "see" it.
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnewmil at dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
---------------------------------------------------------------------------
Sent from my phone. Please excuse my brevity.
Rui Barradas <ruipbarradas at sapo.pt> wrote:
>Hello,
>
>Try the following.
>
>open.par <- " \\(" # with a blank before '('
>close.par <- "\\)"
>result <- strsplit(sub(close.par, "", dd1), open.par)
>
>
>Why the two '\\'? Because '(' is a meta-character so it must be
>escaped.
>But '\' is a meta character so it must also be escaped.
>
>Then choose the right way to separate the two, maybe something like
>
>ix <- rep(c(TRUE, FALSE), length(result))
>unlist(result)[ix]
>unlist(result)[!ix]
>
>
>Hope this helps,
>
>Rui Barradas
>
>Em 07-07-2012 22:37, John Kane escreveu:
>> I am lousy at simple regex and I have not found a solution to a
>simple problem.
>>
>> I have a vector with some character values that I want to split.
>> Sample data
>> dd1 <- c( "XXY (mat harry)","XXY (jim bob)", "CAMP (joe blow)",
>"ALP (max jack)")
>>
>> Desired result
>> dd2 <- data.frame( xx = c("XXY", "XXY", "CAMP", "ALP"), yy = c("mat
>harry", "jim bob" , "joe blow", "max jack"))
>>
>> I thought I should be able to split the characters with strsplit but
>either I am misunderstanding the function or don't know how to escape a
>"(" properly in an effort to at least get "XXY" "(mat harry)"
>>
>> Any pointers would be appreciated
>> Thanks
>> John Kane
>> Kingston ON Canada
>>
>> ____________________________________________________________
>> FREE 3D MARINE AQUARIUM SCREENSAVER - Watch dolphins, sharks & orcas
>on your desktop!
>>
>> ______________________________________________
>> 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.
>>
>
>______________________________________________
>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