[R] string pattern matching

Bert Gunter bgunter.4567 at gmail.com
Wed Mar 22 02:31:59 CET 2017


It is not clear to me what you mean, but:

> grep ("x1 \\+.* \\+ x3",test, value = TRUE)
[1] "x1 + x2 + x3"

## This will miss "x1 + x3" though.

seems to do what you want, maybe. Perhaps you need to read up about
regular expressions and/or clarify what you want to do.


Cheers,
Bert
Bert Gunter

"The trouble with having an open mind is that people keep coming along
and sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )


On Tue, Mar 21, 2017 at 4:50 PM, 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.



More information about the R-help mailing list