David and William,
Thanks for your reply which make me know the concept of escape symbols.

As David guessed, I was trying to write a function which will
accept a path cut from windows explorer.
and as you know windows explorer uses "\".

e.g., c:\temp\function.r

I originally would like that the function is able to change the example path
into "c:/temp/function.r"
David's final comment seems to suggest this is impossible...
If so, it is a limitation because I have to manually change "\" into "/"
each time.
But it is good to know this limitation.

Correct me, if I misunderstand and there is no such a limitation.

Thanks again.

-Sean








On Sun, Dec 13, 2009 at 5:26 PM, David Winsemius <dwinsemius@comcast.net>wrote:

>
> 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
>
>

	[[alternative HTML version deleted]]


