2016-10-27 8 views
1

典型的な例:Rの文字列を逐語的(エスケープしない)にする方法はありますか?

path <- "C:/test/path" # great 
path <- "C:\\test\\path" # also great 
path <- "C:\test\path" 

のエラー: '\ pを' 文字列で認識されないエスケープ "は" C:\テスト\ pを」開始され

(もちろんを - tは実際にエスケープ文字である\ 。)

として逐語的文字列を治療するために使用することができる任意のマークがありますか?それともは、それをコード化することができますか?

それが本当に有用であろうとするとき、Windowsのコピー/貼り付けのパス名...

+1

おそらく[この質問]と同じです(http://stackoverflow.com/questions/4685737/ignore-escape-characters-backslashes-in-r-strings) – 9Heads

+0

Rの文字列をバックスラッシュをエスケープ文字の開始と見なしますか? (私の使用例では、テキストにバックスラッシュと文字が続くため、ファイルの読み取りと印刷がエラーを表示しないようにする必要があります) – nikpod

答えて

0

あなたはスキャンを使用することができます(ただし、唯一の対話型セッションで - ないソースで)

path=scan(what="",allowEscapes=F,nlines=1) 
C:\test\path 
print(path) 

好きで、その後、 はCtrl + ++ Ctrlキー + を入力します。
結果を返す

しかし、f慰めまたはソース:

{ 
path=scan(what="character",allowEscapes=F,nlines=1) 
C:\test\path 
print(path) 
} 

スローエラー

0

たぶんreadline()またはscan(what = "charactor")、ターミナル内仕事の両方ではなく、スクリプトや関数

1. readline()

> path <- readline() 
C:\test\path #paste your path, ENTER 
> path 
[1] "C:\\test\\path" 

2 。scan(what = "charactor")

> path = scan(what = "character") 
1: C:\test\path #paste, ENTER 
2: #ENTER 
#Read 1 item 
> path 
[1] "C:\\test\\path" 

EDIT:

1.Define機能getWindowsPath()

CTRL +C使用
> getWindowsPath <- function() #define function 
    { 
    return(scan(file = "clipboard", what = "character")) 
    } 

2.Copy windows path

はこれを試してみてください210

#CTRL+C: C:\test\path 
> getWindowsPath() 
#Read 1 item 
[1] "C:\\test\\path" 
関連する問題