2013-07-12 79 views
28
斜槓

我正在尋找一種有效的方式來轉換回斜線向前R.斜線有時我複製從Windows目錄中的鏈接,我得到的是這樣的:有效地將反斜線R中

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

我該如何快速更改爲C:/Users/jd/Documents/folder/file.txt?我甚至無法將上面的表達看作角色。它會引發錯誤"\u used without hex digits in character string starting ""C:\u"

謝謝。

+1

出於興趣,你爲什麼需要這樣做? –

+0

我知道R中的tab函數有助於快速找到位置,但只是想知道是否還有其他解決方法。我也可以將工作目錄更改爲文件夾的位置。我只是在玩耍,並試圖將反斜槓轉換爲正斜槓,並不是直截了當,因爲好奇心問這個問題。 –

回答

29

在R,你已經逃脫\\\所以,你的路徑應該是:

x <- "C:\\Users\\jd\\Documents\\folder\\file.txt" 

爲了得到這一點,你可以這樣做:

x <- readline() 

然後,在提示符,粘貼你的未修改路徑(CTRL + V然後ENTER)

最後,將\\更改爲/無處不在,你可以通過逃避\使用gsub,再一次,而是兩次,如下:

gsub("\\\\", "/", x) 
# [1] "C:/Users/jd/Documents/folder/file.txt" 
+1

感謝您的回答。我想將該反斜線表達式轉換爲斜槓的唯一原因是因爲在Windows中,當我嘗試複製特定前向的地址時,它只有一個反斜槓。現在,手動添加反斜槓效率不高。現在,我明白複製根本行不通。 –

+11

'readClipboard()'是另一個可以自動將複製文本中的反斜槓從一個轉換爲兩個的選項。 – thelatemail

+0

@thelatemail謝謝,看來'readClipboard()'是我正在尋找的。 –

8

如果我理解正確的話,你想擺脫字符串編輯。爲了能夠使用gsub,您必須先將所有\手動更改爲\\。那麼,爲什麼不首先將\更改爲/

如果您有在剪貼板中的字符串您可以使用

x=scan("clipboard",what="string") 

這給

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

也就是說,它會自動將所有\\\。 我知道 - 不是很方便,但我知道解決編輯的唯一方法。

+0

順便說一句:用「剪貼板」,我的意思是你用CTRL + V複製的。 – cryo111

+1

當我將文件夾名稱分隔空格時,我沒有按預期那樣得到。例如'C:\ Users \ jd \ Documents \ my country \ my name \ file.txt'。 –

+0

嗯......好點。你可以使用不同的分隔符'x = scan(「剪貼板」,what =「string」,sep =「;」)'。我把它改成';'。我相信文件路徑中不允許使用分號,對吧?因此,選擇分號作爲分隔符應該是安全的。 – cryo111

3

這裏是從剪貼板

x <- gsub ("\\\\", "/", readClipboard() ) 
6

AutoHotkey的程序轉換所述地址的一個步驟的方法:

^+v:: 
StringReplace, clipboard, clipboard, \,/,All 
send %clipboard% 

控制+ c中的文件路徑之後,使用控制+移+ V粘貼

7

我使用Path Copy Copy,它是Windows的插件,允許您在Windows中右鍵單擊文件/文件夾時創建自定義複製命令。因此,我的右鍵單擊菜單具有「使用正斜槓複製完整路徑」作爲選項,該選項以正斜線複製文件/文件夾。我猜測它每年都會從手動更改斜槓到R的格式,爲我節省了

10

如果你想數最少的擊鍵轉換反斜線粘貼路徑時,使用RStudio snippet定義如下:

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

然後鍵入TABENTER和文本粘貼在剪貼板上,反斜槓替換爲正斜線並用引號包圍。

這裏是一旦上面的片段已被定義我通常採取複製文件路徑RStudio以下步驟:

  1. 導航在資源管理器的文件路徑。
  2. 如果複製文件路徑,則: + 右擊的文件,然後單擊複製爲路徑
  3. 如果複製然後一個文件夾路徑:Alt鍵 + dCtrl鍵 + Ç
  4. 將窗口更改爲RStudio並將焦點放在要粘貼路徑的R腳本中。
  5. TABENTER粘貼到RStudio和轉換反斜槓正斜槓。
0

未經片斷確定指標的溶液是

writeClipboard(gsub("\\\\", "/", readClipboard())) 
3

我喜歡用RStudio加載snippetsaddin其具有功能'Convert slash'

它將反向所有斜線無論是在選定的代碼塊,或者如果沒有選擇(或僅選擇空白),它將反轉剪貼板中的所有斜槓並將其粘貼到當前光標位置。

+1

工程就像一個魅力。 :) –