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

Reply via email to