[R] how to replace a single backward slash with a double backward slash?

David Winsemius dwinsemius at comcast.net
Sun Dec 13 23:26:13 CET 2009


On Dec 13, 2009, at 5:11 PM, Sean Zhang wrote:

> Dear R-helpers:
>
> Hours ago, I asked how to replace a single forward slash with a double
> backward slash and recieved great help. Thanks again for all the  
> repliers.
>
> In the meantime, I wonder how to replace a single backward slash  
> with a
> double backward slash?
>
> e.g., I want change "c:\test" into "c:\\test"
>
> I tried the following but does not work.
> gsub("\\\","\\\\",)
>
> Can someone help?

Your problem may be that you think there actually is a "\" in "c: 
\test". There isn't:

 > grep("\\\\", "c:\test")  # which would have found a true "\"
integer(0)

It's an escaped "t", which is the tab character = "\t":

 > grep("\\\t", "c:\test")
[1] 1
 > cat("rr\tqq")
rr	qq

If your goal is to make file paths in Windows correctly, then you have  
two choices:

a) use doubled "\\"'s in the literal strings you type, or ...
b) use "/"'s

So maybe you should explain what you are doing? We don't request that  
background out of nosiness, but rather so we can give better answers

-- 

David Winsemius, MD
Heritage Laboratories
West Hartford, CT




More information about the R-help mailing list