2017-09-06 238 views
2

把\」在我的字符串我有一個數組:如何使用paste0功能

t <- c("IMCR01","IMFA02","IMFA03") 

我想使它看起來像這樣:

"\'IMCR01\'","\'IMFA02\'","\'IMFA03\'" 

我嘗試不同的方法,如:

paste0("\'",t,"\'") 
paste0("\\'",t,"\\'") 
paste0("\\\\'",t,"\\\\'") 

但他們都不是正確的。任何人都可以幫我嗎?其他功能也可以。

回答

5

其實你的第二次嘗試是正確的:

paste0("\\'",t,"\\'") 

如果你想告訴paste使用反斜槓,你需要一次逃脫它(但不是兩次,因爲你需要一個正則表達式模式中) 。這將輸出以下到控制檯中R:

[1] "\\'IMCR01\\'" "\\'IMFA02\\'" "\\'IMFA03\\'" 

這裏的技巧是反斜槓甚至用R在控制檯輸出轉義。如果你是不是寫t到一個文本文件,你只能看到一個反斜槓,你想:

write(t, file = "/path/to/your/file.txt") 

但爲什麼[R需要轉義反斜線寫自己的控制檯時?一種可能性是,如果它是寫文字\n那麼這實際上將通過控制檯作爲一個換行符解釋。因此,對Eacaping的需求仍然存在。

+0

非常感謝。我從來沒有注意到這樣的細節! –

+2

@FengChen - 'cat'是你的朋友檢查什麼字符串 「實際上」 是時候:'貓(paste0( 「\\ '」,T, 「\\'」), 「\ n」)'的實例。 – thelatemail