2015-09-22 64 views
0
使用SUBSTR函數轉義字符

有一個字符串變量x如何忽略,而R中

x <- "aa\xbbcc" 

我想用

y <- substr(x, 1, 3) 

提取前三個字符「AA \」。

但是,「\ x」是一個轉義字符。因此,一個錯誤信息顯示:

Error during wrapup: invalid regular expression '\', reason 'Trailing backslash' 

我試圖用

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

取代 「\」,但它沒有工作,發現:

Error during wrapup: invalid regular expression '\', reason 'Trailing backslash' 

如何解決這個問題?謝謝

+0

前三個字符是'aa \ xbb',而不是aa \。你想要提取什麼? –

+0

我想將「aa \ xbbcc」設置爲8個字符的字符串:「a」,「a」,「\\」,「x」,「b」,「b」,「c」和「 C」。所以我可以提取「aa」。 –

+0

您的字符串不包含「\\」,「x」或「b」(x2)。它包含在screen_上作爲「\ xbb」打印的字符。所以你想要的是一個不適合的問題。 –

回答

0

\xbb在字符串中插入ASCII字符>>\xbb是十進制值187要刪除此字符十六進制表示,這樣做:

gsub("\xbb","",x) 

然後你就可以對所得到的字符串中使用substr

+0

「aa \」,「xbb」和「cc」是有意義的。因此「\ xbb」不能被替換。這對我來說是一個大問題。我花了整整一天的時間,但不知道。 –