wow! and here I thought I was starting to know most things about regexes...
On Wed, Mar 28, 2012 at 1:34 PM, William Dunlap <wdun...@tibco.com> wrote: > You can use the \< and \> patterns (backslashing the backslashes) to > mean start and end of "word", respectively. E.g., > > > addresses <- c("S S Main St & Interstate 95", "3421 BIGS St") > > gsub("\\<S S\\>", "S", addresses) > [1] "S Main St & Interstate 95" "3421 BIGS St" > > Bill Dunlap > Spotfire, TIBCO Software > wdunlap tibco.com > > >> -----Original Message----- >> From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On >> Behalf >> Of Justin Haynes >> Sent: Wednesday, March 28, 2012 1:24 PM >> To: Markus Weisner >> Cc: r-help@r-project.org >> Subject: Re: [R] how to match exact phrase using gsub (or similar function) >> >> In most regexs the carrot( ^ ) signifies the start of a line and the >> dollar sign ( $ ) signifies the end. >> >> gsub('^S S', 'S', a) >> >> gsub('^S S', 'S', '3421 BIGS St') >> >> you can use logical or inside your pattern too: >> >> gsub('^S S|S S$| S S ', 'S', a) >> >> the " S S " condition is difficult. >> >> gsub('^S S|S S$| S S ', 'S', 'foo S S bar') >> >> gives the wrong output. as does: >> >> gsub('^S S | S S$| S S ', ' S ', 'foo S S bar') >> gsub('^S S | S S$| S S ', ' S ', a) >> >> >> so you might have to catch that with a second gsub. >> >> gsub(' S S ', ' S ', 'foo S S bar') >> >> >> On Wed, Mar 28, 2012 at 12:32 PM, Markus Weisner <r...@themarkus.com> wrote: >> > trying to switch out addresses that have double directions, such as the >> > following example: >> > >> > a = "S S Main St & Interstate 95" >> > >> > a = gsub(pattern="S S ", replacement="S ", a) >> > >> > >> > . the problem is that I don't want to affect instances where this might be >> > a correct address such as the following: >> > >> > >> > "3421 BIGS St" >> > >> > >> > what I want to say is switch out only if this is either of the following >> > situations >> > >> > >> > [beginning of char]S S" >> > >> > " S S " >> > >> > "S S[end of char] >> > >> > >> > Is there anyway of making gsub or a similar function make the replacements >> > I want? Thanks in advance for your help. >> > >> > >> > ~Markus >> > >> > [[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. >> > >> >> ______________________________________________ >> 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. ______________________________________________ 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.