[Rd] gsub("\\", "\\\\", "C:\Program Files\R")

Duncan Murdoch murdoch.duncan at gmail.com
Fri Aug 12 14:20:11 CEST 2011


On 11-08-12 4:52 AM, mafia88 wrote:
> Hi,
>
> I think it is not possible in R but I rather ask before giving up:
>
> What I have: I have copied "C:\Program Files\R" into my clipboard.
> What I want: setwd(transform("C:\Program Files\R")) where the function
> transform should change the "C:\Program Files\R" from my clipboard to
> "C:\\Program Files\\R" so that R can handle it. Is this possible?

No, but you shouldn't be doing that.  You should read the string from 
the clipboard as a string, not as R code, because it's a string, not R code.

For example, if your clipboard contains that string,

dir <- readClipboard()
setwd(dir)


> I've tried with gsub("\\", "\\\\", "C:\Program Files\R") but failed, then
> tried first to split the full clipboard string cause \P is reserved in R but
> with strsplit("C:\Program Files\R", "") I also failed.
>
> Therefore the question: It is really necessary to manually add a second "\"
> in "C:\Program Files\R", so that setwd("C:\\Program Files\\R") can change my
> work directory?

No.  You only want a single backslash in the string.  The problem is 
that you are using the parser:  to get the parser to create a string 
with a single backslash in it, you need to give two to the parser.

So don't use the parser.

Duncan Murdoch

> Cause I am getting tired making this manually... yes I know I can use the
> Search&Replace function from the Editor but I thought R can do everything?
>
> I hope someone could help me :(
>
> --
> View this message in context: http://r.789695.n4.nabble.com/gsub-C-Program-Files-R-tp3738251p3738251.html
> Sent from the R devel mailing list archive at Nabble.com.
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



More information about the R-devel mailing list