2

重複の可能性:
R 文字列のエスケープ文字 (バックスラッシュ) を無視する

文字列の「\」を文字列の「/」に置き換えたい。たとえば、最初の文字列は「d:\temp\1.txt」で、「d:/temp/1.txt」が必要です。試してみましgsubたが、思い通りに動作しません。しかし、もっと簡単なエクササイズをすると

> gsub("a", "b", "banana")
[1] "bbnbnb"

正常に動作しています。特殊文字 "/" と "\" を使用するトリックはありますか?

4

1 に答える 1

2

@Paul、これは機能しません-R for Windows FAQを参照してください。

Rがバックスラッシュで何をするかを見てください:

a <- "d:\temp\1.txt"
cat(a)
# d:      emp.txt

のように逃げる..

gsub("\\", "/", a)
Fehler in gsub("\\", "/", a) : 
  ungültiger regulärer Ausdruck '\', Grund 'Trailing backslash'

..動作しません..

これはうまくいくでしょう:

b <- "d:\\temp\\1.txt"
cat(b)
# d:\temp\1.txt
gsub("\\\\", "/", b)
# "d:/temp/1.txt"
于 2012-12-14T16:12:38.237 に答える