Rでバックスラッシュをスラッシュに変換する効率的な方法を探しています。ディレクトリのリンクをWindowsからコピーすると、次のようなものが得られます:
C:\Users\jd\Documents\folder\file.txt
これをC:/Users/jd/Documents/folder/file.txt
にすばやく変更するにはどうすればよいですか?上記の表現を文字として読むことすらできません。エラーをスローします
"\ uは、" "C:\ u"で始まる文字列に16進数字なしで使用されます。
RのTAB機能が場所をすばやく見つけるのに役立つことは知っていますが、他に何か解決策があるかどうか疑問に思っていました。作業ディレクトリをフォルダの場所に変更することもできます。私はただ遊んでいて、バックスラッシュをスラッシュに変換しようとしましたが、簡単ではなかったので、好奇心だけでこれを尋ねました。
Rでは、\
を\\
でエスケープする必要があるため、パスは次のようになります。
x <- "C:\\Users\\jd\\Documents\\folder\\file.txt"
それを得るには、次のことができます:
x <- readline()
次に、プロンプトで、未変更パスを貼り付けます(CTRL + V、ENTER)
最後に、すべての場所で\\
を/
に変更するには、次のように\
を2回エスケープすることにより、gsub
を使用できます。
gsub("\\\\", "/", x)
# [1] "C:/Users/jd/Documents/folder/file.txt"
パスを貼り付けるときに最小限のキーストロークでバックスラッシュを変換するには、次のように定義されたRStudio snippet を使用します。
snippet pp
"`r gsub('"', "", gsub("\\\\", "/", readClipboard()))`"
スニペットが機能するための複数のスペースではなく、tabを2行目に付けてください。
次に入力 pp、 TAB、 ENTER クリップボードのテキストが貼り付けられ、バックスラッシュがスラッシュに置き換えられ、引用符で囲まれます。
上記のスニペットが定義されたら、RStudioにファイルパスをコピーするために通常行う手順は次のとおりです。
私が正しく理解していれば、文字列の編集を取り除いてください。 gsub
を使用できるようにするには、すべての\
から\\
最初に手動で。だから、なぜ変更するだけで_\
から/
まず第一に?
クリップボードに文字列がある場合は、使用できます
x=scan("clipboard",what="string")
これは与える
"C:\\Users\\jd\\Documents\\folder\\file.txt"
つまり、すべての\
から\\
自動的に。私は知っています-非常に便利ではありませんが、編集を回避する唯一の方法です。
パスコピーコピー を使用します。これは、Windowsのファイル/フォルダーを右クリックしたときにカスタムコピーコマンドを作成できるWindowsのプラグインです。そのため、私の右クリックメニューには、オプションとして「スラッシュ付きのフルパスをコピー」があり、ファイル/フォルダをスラッシュ付きでコピーします。毎年、手動でスラッシュをRの形式に変更することからdaysを節約できると思います。
autohotkeyプログラム:
^+v::
StringReplace, clipboard, clipboard, \,/,All
send %clipboard%
control + cファイルパスの後、control + shift + vを使用して貼り付けます
RStudioアドイン snippetsaddin を使用するのが好きです。この機能には 'Convert slash' :
選択したコードブロック内のすべてのスラッシュを反転するか、選択がない場合(または空白のみが選択されている場合)、クリップボード内のすべてのスラッシュを反転し、現在のカーソル位置に貼り付けます( s)。
アドインはパッケージのように機能しません。これをインストールするには、次を実行します。
devtools::install_github("sfr/RStudio-Addin-Snippets", type = "source")
クリップボードからアドレスを変換する1ステップの方法を次に示します
x <- gsub ( "\\\\", "/", readClipboard () )
スニペット定義のないソリューションは
writeClipboard(gsub("\\\\", "/", readClipboard()))
面倒を取り除く最善の方法は、右パネルのRstudioでファイルを見つけることだと思います。そして、「詳細」をクリックし、「作業ディレクトリとして設定」をクリックします。次に、コンソールに「setwd(...)」と表示されます。これをコードにコピーできます。