[R] Regular Expressions Help

Hans-Jörg Bibiko bibiko at eva.mpg.de
Sat Apr 19 13:51:04 CEST 2008


On 19.04.2008, at 06:46, maud wrote:

> I am having some trouble learning regular expressions. Let me describe
> the general problem I am dealing with. Consider the following setup:
>
> Joe<- c(1,2,3)
> Bob<- c(2,4,6)
> Alice <- c(9,8,7)
>
> Matrix <- cbind(Joe, Bob, Alice)
> St <- c("Bob", "Alice", "Alice:Bob")
> [...]
> I have been reading over various post on regular expressions, but
> really haven't made any progress. As far as I can tell there aren't
> standard string functions in R. (Also, as an aside, is there a
> wildcard character in R? I'd want something so if x="Bob" a statment
> of the form x== "B*b" would evaluate true where * is the wildcard.)


I'm not really sure if I understood you correctly.
If you're looking for a way to match St against something like "B*b"  
you can make usage of normal regular expressions (like grep()).

For details begin with ?regexp and ?grep

Then you can try for instance:

grep("B.b", St)

to get
[1] 1 3

(the indices of the vector St)

or directly

St[grep("B.b", St)]

Cheers,
--Hans



More information about the R-help mailing list