[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