Thank you very much to all of you for your fast and excellent help.
Since the "-grep(...)" solution seems to be favored by most of the answers, I 
just wonder if there is really no regular expression which does the job?!?

Thanks again,
Roland



-----Original Message-----
From: Gabor Grothendieck [mailto:ggrothendi...@gmail.com]
Sent: Sun 1/18/2009 8:28 PM
To: Rau, Roland
Cc: r-help@r-project.org
Subject: Re: [R] regex -> negate a word
 
Try this:

# indexes
setdiff(seq_along(x), grep("abc", x))

# values
setdiff(x, grep("abc", x, value = TRUE))

Another possibility is:

z <- "abc"
x0 <- c(x, z) # to handle no match case
x0[- grep(z, x0)] # values




On Sun, Jan 18, 2009 at 1:35 PM, Rau, Roland <r...@demogr.mpg.de> wrote:
> Dear all,
>
> let's assume I have a vector of character strings:
>
> x <- c("abcdef", "defabc", "qwerty")
>
> What I would like to find is the following: all elements where the word
> 'abc' does not appear (i.e. 3 in this case of 'x').
>
> Since I am not really experienced with regular expressions, I started
> slowly and thought I find all word were 'abc' actually does appear:
>
>> grep(pattern="abc", x=x)
> [1] 1 2
>
> So far, so good. Now I read that ^ is the negation operator. But it can
> also denote the beginning of a string as in:
>
>> grep(pattern="^abc", x=x)
> [1] 1
>
> Of course, we need to put it inside square brackets to negate the
> expression [1]
>> grep(pattern="[^abc]", x=x)
> [1] 1 2 3
>
> But this is not what I want either.
>
> I'd appreciate any help. I assume this is rather easy and
> straightforward.
>
> Thanks,
> Roland
>
>
> [1] http://www.zytrax.com/tech/web/regex.htm: The ^ (circumflex or
> caret) inside square brackets negates the expression....
>
> ----------
> This mail has been sent through the MPI for Demographic Research.  Should you 
> receive a mail that is apparently from a MPI user without this text 
> displayed, then the address has most likely been faked. If you are uncertain 
> about the validity of this message, please check the mail header or ask your 
> system administrator for assistance.
>
> ______________________________________________
> 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.
>


        [[alternative HTML version deleted]]

______________________________________________
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