string pattern matching
Hi Joe,
you could also rethink your pattern:
grep("x1 \\+ x2", test, value = TRUE)
grep("x1 \\+ x", test, value = TRUE)
grep("x1 \\+ x[0-9]", test, value = TRUE)
HTH
Ulrik
On Wed, 22 Mar 2017 at 02:10 Jim Lemon <drjimlemon at gmail.com> wrote:
Hi Joe,
This may help you:
test <- c("x1", "x2", "x3", "x1 + x2 + x3")
multigrep<-function(x1,x2) {
xbits<-unlist(strsplit(x1," "))
nbits<-length(xbits)
xans<-rep(FALSE,nbits)
for(i in 1:nbits) if(length(grep(xbits[i],x2))) xans[i]<-TRUE
return(all(xans))
}
multigrep("x1 + x3","x1 + x2 + x3")
[1] TRUE
multigrep("x1 + x4","x1 + x2 + x3")
[1] FALSE
Jim
On Wed, Mar 22, 2017 at 10:50 AM, Joe Ceradini <joeceradini at gmail.com>
wrote:
Hi Folks,
Is there a way to find "x1 + x2 + x3" given "x1 + x3" as the pattern?
Or is that a ridiculous question, since I'm trying to find something
based on a pattern that doesn't exist?
test <- c("x1", "x2", "x3", "x1 + x2 + x3")
test
[1] "x1" "x2" "x3" "x1 + x2 + x3"
grep("x1 + x2", test, fixed=TRUE, value = TRUE)
[1] "x1 + x2 + x3"
But what if only have "x1 + x3" as the pattern and still want to
return "x1 + x2 + x3"?
grep("x1 + x3", test, fixed=TRUE, value = TRUE)
character(0)
I'm sure this looks like an odd question. I'm trying to build a
function and stuck on this. Rather than dropping the whole function on
the list, I thought I'd try one piece I needed help with...although I
suspect that this question itself probably does bode well for my
function :)
Thanks!
Joe
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see 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 -- To UNSUBSCRIBE and more, see 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.