How do I get just the two last tokens of each string in a vector?
Here is a similar solution using strapply in gsubfn. The pattern matches non-spaces, [^ ]+, followed by a space followed by non-spaces followed by end-of-string, $.
library(gsubfn) strapply(a, "[^ ]+ [^ ]+$", simplify = c)
[1] "L*H H%" "H* H%" "L*H %" "L*H %"
On Fri, Jun 26, 2009 at 7:21 AM, Fredrik Karlsson<dargosch at gmail.com> wrote:
Dear list,
Sorry for asking this very silly question on the list, but I seem to
have made my life complicated by going into string manipulation in
vectors.
What I need is to get the last part of a sting (the two last tokens,
separated by a space), and of course, this should be done for all
strings in a vector, creating a new vector of exual size.
So,
a <- c(" %L H*L L*H H%", "%L H* H%", ?"%L L*H %", ? "%L L*H %" )
should be made into a vector
?c(" L*H H%", "H* H%", ?"L*H %", ? "L*H %" )
I have tried strsplit, but it seems to produce a structure I cannot
get to work in this context. Any ideas on how to solve this?
Thankful for all the help I can get.
/Fredrik
--
"Life is like a trumpet - if you don't put anything into it, you don't
get anything out of it."
______________________________________________ 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.