Help with regular expressions.
Simpler, but would fail if there are more "."s beyond the second (it changes the last one to a "-"):
sub("(.*)\\.([^.]*)", "\\1-\\2", "aa.bcv.cdg")
[1] "aa.bcv-cdg" Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
On Mon, Feb 8, 2021 at 6:49 PM Bert Gunter <bgunter.4567 at gmail.com> wrote:
gsub("(.*\\.[^.]*)\\.(.*)","\\1-\\2", "aa.bcv.cdg")
[1] "aa.bcv-cdg" Cheers, Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Mon, Feb 8, 2021 at 6:29 PM Rolf Turner <r.turner at auckland.ac.nz> wrote:
I want to deal with strings of the form "a.b.c" and to change (using sub() or whatever is appropriate) the second "." to a "-", i.e. to change "a.b.c" to "a.b-c". I want to leave the first "." as-is. I guess I could do a gsub(), changing all "."s to "-"s, and then do a sub() changing the first "-" back to a ".". But this seems very kludgy. There must be a sexier way. Mustn't there? Is there regular expression syntax for picking out the second occurence of a particular string? cheers, Rolf Turner -- Honorary Research Fellow Department of Statistics University of Auckland Phone: +64-9-373-7599 ext. 88276
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.