[R] How to convert "c:\a\b" to "c:/a/b"

Spencer Graves spencer.graves at pdf.com
Thu Jun 30 00:06:14 CEST 2005


Thank You, Prof. Ripley!

	  Both "test1.R" and "test2.R" worked for me just now, as did the 
following minor modification:

(x <- readLines(stdin(), n=1))
D:\spencerg\dataPOWER\stats\Tukey\Boxplot_missing_Tukey2.txt

	  Thanks again.

	  spencer graves

Prof Brian Ripley wrote:
> On Wed, 29 Jun 2005, David Duffy wrote:
> 
> 
>>I couldn't resist adding a more literal answer
> 
> 
> This can only work for escapes which are preserved.  The parser maps
> \n to a character (LF) and the deparser maps it back to \n.
> This happens to be true of \a \b \f \n \r \t \v \\ but no others.
> 
> For example, \s is mapped to s, and there is no difference between \s and
> s in the parsed input.
> 
> 
>>unback <- function(x) {
>> chars <- unlist(strsplit(deparse(x),""))
>> chars <- chars[-c(1,length(chars))]
>> paste(gsub("\\\\","/",chars),collapse="")
>>}
>>
>>unback("\n")
> 
> 
>>unback("\s")
> 
> [1] "s"
> 
> Spencer Graves keeps on insisting there is a better way, but all the
> solutions are to avoid sending the string to the parser, and hence
> avoiding having the string directly in an R script.  This is common in 
> shell scripts, which use 'here' documents to avoid 'quoting hell'.
> 
> We can do that in R too. Here are two variants I have not seen in the 
> thread
> 
> test1.R:
> scan("", "", allowEscapes=FALSE, n=1, quiet=TRUE)
> D:\spencerg\dataPOWER\stats\Tukey\Boxplot_missing_Tukey2.txt
> catIx, "\n", sep="")
> 
> R --slave --vanilla < test1.R
> D:\spencerg\dataPOWER\stats\Tukey\Boxplot_missing_Tukey2.txt
> 
> (This one does not allow quoted strings.)
> 
> test2.R:
> x <- readLines(stdin(), n=1)
> "D:\spencerg\dataPOWER\stats\Tukey\Boxplot_missing_Tukey2.txt"
> x <- gsub('^"(.*)"$', "\\1", x)
> cat(x, "\n")
> 
> R --slave --vanilla < test2.R
> D:\spencerg\dataPOWER\stats\Tukey\Boxplot_missing_Tukey2.txt
> 
> (This one allows surrounding quotes or not.)
> 

-- 
Spencer Graves, PhD
Senior Development Engineer
PDF Solutions, Inc.
333 West San Carlos Street Suite 700
San Jose, CA 95110, USA

spencer.graves at pdf.com
www.pdf.com <http://www.pdf.com>
Tel:  408-938-4420
Fax: 408-280-7915




More information about the R-help mailing list