[R] (no subject)

Jeff Newmiller jdnewmil at dcn.davis.ca.us
Tue Sep 6 16:20:22 CEST 2016


It is not the implementation of regex that requires double backslashes, but the R string parser. You can use cat to see what the pattern looks like to the parser. Try

cat( "\\(.*?\\)" )
-- 
Sent from my phone. Please excuse my brevity.

On September 6, 2016 6:33:15 AM PDT, Sarah Goslee <sarah.goslee at gmail.com> wrote:
>R's implementation of regex requires double backslashes. Reading
>?regex will tell you more.
>
>
>cleanBetweenBrackets <- function(String)
>{
>  return(gsub("\\(.*?\\)", "", String))
>}
>
>Str <- "The cat is crazy (but not too crazy)"
>
>cleanBetweenBrackets(Str)
>
>> cleanBetweenBrackets(Str)
>[1] "The cat is crazy "
>
>
>The trailing space is left as an exercise for the reader.
>
>Sarah
>
>On Tue, Sep 6, 2016 at 2:56 AM, Audrey Riddell <audreykaspi at gmail.com>
>wrote:
>> Hello,
>>
>>
>> I am trying to remove brackets and the text contained in brackets. I
>tried
>> to do a user defined formula... my attempt at this is pasted below.
>>
>> cleanBetweenBrackets <- function(String)
>>   { return(gsub("\(.*?\)", "", String))}
>>
>>  I keep getting errors (namely that there is an unrecognised escape
>> character in the string). I have looked at regex forums a bit, but
>cant
>> figure this out.
>>
>> I want the above formula to be able to produce the following result
>>
>>>Str<-"The cat is crazy (but not too crazy)"
>>>StrNoBrackets<-cleanBetweenBrackets(Str)
>>>StrNoBrackets
>> [1]  "The cat is crazy "
>>
>> Assistance would be appreciated,
>>
>> Audrey
>>



More information about the R-help mailing list