Re: [Rd] Replace back slashes with forward slashes?

From: Simon Urbanek <simon.urbanek_at_r-project.org>
Date: Wed, 29 Feb 2012 13:24:34 -0500

On Feb 29, 2012, at 1:19 PM, Spencer Graves wrote:

> Hi, Simon:
>
> On 2/29/2012 10:04 AM, Simon Urbanek wrote:

>> On Feb 29, 2012, at 12:37 PM, Spencer Graves wrote:
>> 
>>> Hello, All:
>>> 
>>> 
>>>      What can people tell me about converting back slashes to forward slashes in character strings?
>>> 
>>> 
>> That's it's trivially done with
>> 
>> gsub("\\", "/", x, fixed=TRUE)
>> 
>> Where x is the character string (and I suppose you are aware of it since you are using it below).

>
> It does not work for me. Consider the following:
>
>
> > x <- 'c:\Users\'
> Error: '\U' used without hex digits in character string starting "c:\U"
>

But that has nothing to do with strings - it is an user error since you are not creating a valid string in R (not that backslash needs to be escaped in R -- just like in C and many other languages). You probably meant to write

> x <- "c:\\users\\"
> cat(x,"\n")

c:\users\
> gsub("\\","/",x,fixed=TRUE)

[1] "c:/users/"

Cheers,
Simon

>
> This is one reason I needed to use "scan". Even if I could get past this, consider the following:
>
>
> > x <- '\t'
> > gsub('\\', '/', x, fixed=TRUE)
> [1] "\t"
>
>
> It seems far from trivial, which is why I wrote this function and am looking for a better one.
>
>
> Thanks for the reply.
>
>
> Spencer

>> 
>> The rest of this e-mail makes absolutely no sense to me -- what exactly are you taking about? What else do you want to achieve?
>> 
>> Cheers,
>> Simon
>> 
>> 
>> 
>> 
>> 
>> 
>>>      Several years ago, Prof. Ripley provided a solution, which I lost and have not been able to find.
>>> 
>>> 
>>>      Below please find a function to do this.  I do not find this very satisfactory, however, because it uses "scan" and therefore operates on an input not a character string.  Unless someone suggests something better, I plan to add this to the "sos" package and issue a new release very soon.  (The new release is needed, because the RSiteSearch capability has been modified in a way that breaks the current "findFn" core of "sos".)
>>> 
>>> 
>>>      Thanks,
>>>      Spencer
>>> 
>>> back2forwardslash<- function (nmax = 1, pattern = "\\", replacement = "/") {
>>>    x<- scan(what = character(), quote = pattern, nmax = nmax)
>>>    x.<- gsub(pattern, replacement, x, fixed = TRUE)
>>>    paste(x., collapse = " ")
>>> }
>>> 
>>> (x<- back2forwardslash())
>>> c:\Users\
>>> 
>>> # nmax must be one more than the number of embedded blanks
>>> (x3<- back2forwardslash(3))
>>> c:\u\a b\c d
>>> 
>>> 
>>> -- 
>>> Spencer Graves, PE, PhD
>>> President and Chief Technology Officer
>>> Structure Inspection and Monitoring, Inc.
>>> 751 Emerson Ct.
>>> San Josť, CA 95126
>>> ph:  408-655-4567
>>> web:  www.structuremonitoring.com
>>> 
>>> ______________________________________________
>>> R-devel_at_r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>> 
>>> 
>> ______________________________________________
>> R-devel_at_r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>> 

>
>
> --
> Spencer Graves, PE, PhD
> President and Chief Technology Officer
> Structure Inspection and Monitoring, Inc.
> 751 Emerson Ct.
> San Josť, CA 95126
> ph: 408-655-4567
> web: www.structuremonitoring.com
>
>


R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Wed 29 Feb 2012 - 18:29:07 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 01 Mar 2012 - 04:40:22 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive