77

R でバック スラッシュをスラッシュに変換する効率的な方法を探しています。Windows でディレクトリのリンクをコピーすると、次のような結果が得られることがあります。

C:\Users\jd\Documents\folder\file.txt

これを にすばやく変更するにはどうすればよいC:/Users/jd/Documents/folder/file.txtですか? 上の表現も文字として読めません。エラーがスローされます

"\u は、""C:\u" で始まる文字列で 16 進数なしで使用されます。

R の TAB 関数が場所をすばやく見つけるのに役立つことは知っていますが、他の回避策があるかどうか疑問に思っていました。作業ディレクトリをフォルダーの場所に変更することもできます。私はただ遊んでいて、バックスラッシュをスラッシュに変換しようとしましたが、単純ではなかったので、好奇心からこれを尋ねました.

4

9 に答える 9

63

\R では、 withをエスケープする\\必要があるため、パスは次のようになります。

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"
于 2013-07-12T00:11:18.213 に答える
45

パスを貼り付けるときにバックスラッシュを変換するキーストローク数を最小限に抑えるには、次のように定義された RStudioスニペットを使用します。

snippet pp
    "`r gsub('"', "", gsub("\\\\", "/", readClipboard()))`"

スニペットが機能するように、複数のスペースではなく、2 行目の先頭に必ずタブを付けてください。

次にpp,と入力するとTABENTERクリップボードのテキストが貼り付けられ、バックスラッシュがスラッシュに置き換えられ、引用符で囲まれます。

上記のスニペットが定義されたら、ファイル パスを RStudio にコピーするために通常実行する手順を次に示します。

  1. エクスプローラーでファイル パスに移動します。
  2. ファイル パスをコピーする場合: Shift+ファイルで、[パスとしてコピーRight click] をクリックします。
  3. フォルダー パスをコピーする場合: Alt+ d, Ctrl+ c.
  4. ウィンドウを RStudio に変更し、パスを貼り付ける R スクリプトにフォーカスします。
  5. pp, TAB,ENTERを RStudio に貼り付け、バックスラッシュをスラッシュに変換します。
于 2016-10-12T01:54:30.683 に答える
12

「スラッシュの変換」機能を持つRStudio アドインsnippetsaddinを使用するのが好きです。

選択したコード ブロック内のすべてのスラッシュを逆にするか、選択がない場合 (または空白のみが選択されている場合) は、クリップボード内のすべてのスラッシュを逆にして、現在のカーソル位置に貼り付けます ( s)。

アドインはパッケージのようにインストールされます。これをインストールするには、次のようにします。

devtools::install_github("sfr/RStudio-Addin-Snippets", type = "source")
于 2017-06-19T11:22:36.980 に答える
9

これは、クリップボードからアドレスを変換するワンステップの方法です

x  <- gsub  ( "\\\\",  "/",  readClipboard ()  ) 
于 2014-10-21T13:48:51.473 に答える