Here is a second solution that may be closer to what you were thinking of in terms of structure:
library(gsubfn) gsubfn("[[:punct:]]", ~ sub("[^,]", "", x), string) This matches each punctuation character and then removes any non-commas by applying the function function(x)sub("[^,]", "", x) gsubfn is just like gsub except the replacement string can be a replacement function and one can abbreviate the function using a formula notation as shown. See http://gsubfn.googlecode.com On Thu, Aug 6, 2009 at 11:00 AM, Gabor Grothendieck<ggrothendi...@gmail.com> wrote: > Try something along these lines: > > gsub("[^[:alnum:][:space:],]", "", string) > > > On Thu, Aug 6, 2009 at 8:37 AM, Rnewbie<xua...@yahoo.com> wrote: >> >> Dear all, >> >> I wanted to remove all punctuations except commas from a string. >> >> I used: >> >> gsub("[[:punct:]]", "", string) >> >> but I don't know how to exclude the commas ",". Anyone would kindly answer >> my basic question? >> -- >> View this message in context: >> http://www.nabble.com/Remove-all-punctuations-except-commas-tp24845721p24845721.html >> Sent from the R help mailing list archive at Nabble.com. >> >> ______________________________________________ >> 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.