Markus Weisner
2012-Mar-28 19:32 UTC
[R] how to match exact phrase using gsub (or similar function)
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]]
Justin Haynes
2012-Mar-28 20:24 UTC
[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 at 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 at 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.
>