+ is a metacharacter, and must be escaped: > X <- "one + two" > gsub("\\+", "plus", X) [1] "one plus two"
The help for gsub() tells you to read ?regexp - that's where the details of regular expressions as implemented in R are explained. Sarah On Sat, Jan 21, 2012 at 2:46 PM, Nevil Amos <nevil.a...@gmail.com> wrote: > I am trying to replace "+" in a string with another character > I am getting odd results using sub and gsub >> X<-"one + two" >> gsub("+","plus",X) > [1] "plusoplusnpluseplus plus+plus plustpluswplusoplus" >> sub("+","plus",X) > [1] "plusone + two" >> X<-"one ~ two" > > it seems to work fine with other characters: > >> sub("~","plus",X) > [1] "one plus two" > > > How do I enable "+" to be recognised as a normal character? > > thanks > > Nevil Amos > -- Sarah Goslee http://www.functionaldiversity.org ______________________________________________ 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.