Hi all, There are many R help posts out there dealing with slashes in gsub. I understand slashes are "escape characters" and thus need to be treated differently, and display differently in R. However, I'm still stuck on find-replace problem, and would appreciate any tips. Thanks! GOAL: replace all "\\" with "/", so when export file to csv all slashes are the same. (test <- c("8/24/2016", "8/24/2016", "6/16/2016", "6\\16\\2016")) Lengths are all the same, I think (?) because of how R displays/deals with slashes. However, when I export this to a csv, e.g., there are still double slashes, which is a problem for me. nchar(test) Change direction of slashes - works. (test2 <- gsub("\\", "//", test, fixed = TRUE)) Now lengths are now not the same.... nchar(test2) Change from double to single - does not work. Is this because it actually is a single slash but R is just displaying it as double? Regardless, when I export from R the double slashes do appear. gsub("////", "//", test2, fixed = TRUE) gsub("////", "//", test2) gsub("////////", "////", test2, fixed = TRUE) gsub("////////", "////", test2) [[alternative HTML version deleted]]
Hello, I failing to understand the problem, isn't the following what you want? (test2 <- gsub("\\", "/", test, fixed = TRUE)) [1] "8/24/2016" "8/24/2016" "6/16/2016" "6/16/2016" Hope this helps, Rui Barradas Citando Joe Ceradini <joeceradini at gmail.com>:> Hi all, > > There are many R help posts out there dealing with slashes in gsub. I > understand slashes are "escape characters" and thus need to be treated > differently, and display differently in R. However, I'm still stuck on > find-replace problem, and would appreciate any tips. Thanks! > > GOAL: replace all "\\" with "/", so when export file to csv all slashes are > the same. > > (test <- c("8/24/2016", "8/24/2016", "6/16/2016", "6\\16\\2016")) > > Lengths are all the same, I think (?) because of how R displays/deals with > slashes. However, when I export this to a csv, e.g., there are still double > slashes, which is a problem for me. > nchar(test) > > Change direction of slashes - works. > (test2 <- gsub("\\", "//", test, fixed = TRUE)) > > Now lengths are now not the same.... > nchar(test2) > > Change from double to single - does not work. Is this because it actually > is a single slash but R is just displaying it as double? Regardless, when I > export from R the double slashes do appear. > gsub("////", "//", test2, fixed = TRUE) > gsub("////", "//", test2) > gsub("////////", "////", test2, fixed = TRUE) > gsub("////////", "////", test2) > > [[alternative HTML version deleted]] > > ______________________________________________ > 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.
Is this what you want?> (test2 <- gsub("\\", "/", test, fixed = TRUE))[1] "8/24/2016" "8/24/2016" "6/16/2016" "6/16/2016"> nchar(test2)[1] 9 9 9 9> write.csv(test2)"","x" "1","8/24/2016" "2","8/24/2016" "3","6/16/2016" "4","6/16/2016" ------------------------------------- David L Carlson Department of Anthropology Texas A&M University College Station, TX 77840-4352 -----Original Message----- From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Joe Ceradini Sent: Wednesday, September 14, 2016 11:25 AM To: Zilefac Subject: [R] gsub: replacing slashes in a string Hi all, There are many R help posts out there dealing with slashes in gsub. I understand slashes are "escape characters" and thus need to be treated differently, and display differently in R. However, I'm still stuck on find-replace problem, and would appreciate any tips. Thanks! GOAL: replace all "\\" with "/", so when export file to csv all slashes are the same. (test <- c("8/24/2016", "8/24/2016", "6/16/2016", "6\\16\\2016")) Lengths are all the same, I think (?) because of how R displays/deals with slashes. However, when I export this to a csv, e.g., there are still double slashes, which is a problem for me. nchar(test) Change direction of slashes - works. (test2 <- gsub("\\", "//", test, fixed = TRUE)) Now lengths are now not the same.... nchar(test2) Change from double to single - does not work. Is this because it actually is a single slash but R is just displaying it as double? Regardless, when I export from R the double slashes do appear. gsub("////", "//", test2, fixed = TRUE) gsub("////", "//", test2) gsub("////////", "////", test2, fixed = TRUE) gsub("////////", "////", test2) [[alternative HTML version deleted]] ______________________________________________ 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.
Wow. Thanks David and Rui. I thought I needed to "escape" the replacement slash as well, which is why I had "//" rather than "/". I swear I had tried all the slash combos, but missed the obvious one. Much easier than I made it out to be. Thanks! Joe On Wed, Sep 14, 2016 at 10:59 AM, David L Carlson <dcarlson at tamu.edu> wrote:> Is this what you want? > > > (test2 <- gsub("\\", "/", test, fixed = TRUE)) > [1] "8/24/2016" "8/24/2016" "6/16/2016" "6/16/2016" > > nchar(test2) > [1] 9 9 9 9 > > write.csv(test2) > "","x" > "1","8/24/2016" > "2","8/24/2016" > "3","6/16/2016" > "4","6/16/2016" > > ------------------------------------- > David L Carlson > Department of Anthropology > Texas A&M University > College Station, TX 77840-4352 > > > -----Original Message----- > From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Joe > Ceradini > Sent: Wednesday, September 14, 2016 11:25 AM > To: Zilefac > Subject: [R] gsub: replacing slashes in a string > > Hi all, > > There are many R help posts out there dealing with slashes in gsub. I > understand slashes are "escape characters" and thus need to be treated > differently, and display differently in R. However, I'm still stuck on > find-replace problem, and would appreciate any tips. Thanks! > > GOAL: replace all "\\" with "/", so when export file to csv all slashes are > the same. > > (test <- c("8/24/2016", "8/24/2016", "6/16/2016", "6\\16\\2016")) > > Lengths are all the same, I think (?) because of how R displays/deals with > slashes. However, when I export this to a csv, e.g., there are still double > slashes, which is a problem for me. > nchar(test) > > Change direction of slashes - works. > (test2 <- gsub("\\", "//", test, fixed = TRUE)) > > Now lengths are now not the same.... > nchar(test2) > > Change from double to single - does not work. Is this because it actually > is a single slash but R is just displaying it as double? Regardless, when I > export from R the double slashes do appear. > gsub("////", "//", test2, fixed = TRUE) > gsub("////", "//", test2) > gsub("////////", "////", test2, fixed = TRUE) > gsub("////////", "////", test2) > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. >-- Cooperative Fish and Wildlife Research Unit Zoology and Physiology Dept. University of Wyoming JoeCeradini at gmail.com / 914.707.8506 wyocoopunit.org [[alternative HTML version deleted]]
try this:> gsub("\\\\", "/", test)[1] "8/24/2016" "8/24/2016" "6/16/2016" "6/16/2016" Jim Holtman Data Munger Guru What is the problem that you are trying to solve? Tell me what you want to do, not how you want to do it. On Wed, Sep 14, 2016 at 12:25 PM, Joe Ceradini <joeceradini at gmail.com> wrote:> Hi all, > > There are many R help posts out there dealing with slashes in gsub. I > understand slashes are "escape characters" and thus need to be treated > differently, and display differently in R. However, I'm still stuck on > find-replace problem, and would appreciate any tips. Thanks! > > GOAL: replace all "\\" with "/", so when export file to csv all slashes are > the same. > > (test <- c("8/24/2016", "8/24/2016", "6/16/2016", "6\\16\\2016")) > > Lengths are all the same, I think (?) because of how R displays/deals with > slashes. However, when I export this to a csv, e.g., there are still double > slashes, which is a problem for me. > nchar(test) > > Change direction of slashes - works. > (test2 <- gsub("\\", "//", test, fixed = TRUE)) > > Now lengths are now not the same.... > nchar(test2) > > Change from double to single - does not work. Is this because it actually > is a single slash but R is just displaying it as double? Regardless, when I > export from R the double slashes do appear. > gsub("////", "//", test2, fixed = TRUE) > gsub("////", "//", test2) > gsub("////////", "////", test2, fixed = TRUE) > gsub("////////", "////", test2) > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. >[[alternative HTML version deleted]]
Thanks Jim! Joe On Wed, Sep 14, 2016 at 11:06 AM, jim holtman <jholtman at gmail.com> wrote:> try this: > > > gsub("\\\\", "/", test) > [1] "8/24/2016" "8/24/2016" "6/16/2016" "6/16/2016" > > > > > Jim Holtman > Data Munger Guru > > What is the problem that you are trying to solve? > Tell me what you want to do, not how you want to do it. > > On Wed, Sep 14, 2016 at 12:25 PM, Joe Ceradini <joeceradini at gmail.com> > wrote: > >> Hi all, >> >> There are many R help posts out there dealing with slashes in gsub. I >> understand slashes are "escape characters" and thus need to be treated >> differently, and display differently in R. However, I'm still stuck on >> find-replace problem, and would appreciate any tips. Thanks! >> >> GOAL: replace all "\\" with "/", so when export file to csv all slashes >> are >> the same. >> >> (test <- c("8/24/2016", "8/24/2016", "6/16/2016", "6\\16\\2016")) >> >> Lengths are all the same, I think (?) because of how R displays/deals with >> slashes. However, when I export this to a csv, e.g., there are still >> double >> slashes, which is a problem for me. >> nchar(test) >> >> Change direction of slashes - works. >> (test2 <- gsub("\\", "//", test, fixed = TRUE)) >> >> Now lengths are now not the same.... >> nchar(test2) >> >> Change from double to single - does not work. Is this because it actually >> is a single slash but R is just displaying it as double? Regardless, when >> I >> export from R the double slashes do appear. >> gsub("////", "//", test2, fixed = TRUE) >> gsub("////", "//", test2) >> gsub("////////", "////", test2, fixed = TRUE) >> gsub("////////", "////", test2) >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> 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/posti >> ng-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> > >-- Cooperative Fish and Wildlife Research Unit Zoology and Physiology Dept. University of Wyoming JoeCeradini at gmail.com / 914.707.8506 wyocoopunit.org [[alternative HTML version deleted]]