我有一個字符向量,其中每個元素都括在括號中。我想 刪除括號,只是有字符串。從字符串中刪除括號
所以,我想:
n = c("[Dave]", "[Tony]", "[Sara]")
paste("", n, "", sep="")
Unforunately,這並不出於某種原因。 在使用相同的代碼之前,我已經執行了相同的任務,但我不確定這次爲什麼它不工作。我想從'[Dave]'
轉到'Dave'
。
我在做什麼錯?
我有一個字符向量,其中每個元素都括在括號中。我想 刪除括號,只是有字符串。從字符串中刪除括號
所以,我想:
n = c("[Dave]", "[Tony]", "[Sara]")
paste("", n, "", sep="")
Unforunately,這並不出於某種原因。 在使用相同的代碼之前,我已經執行了相同的任務,但我不確定這次爲什麼它不工作。我想從'[Dave]'
轉到'Dave'
。
我在做什麼錯?
你可以GSUB出像這樣的括號:
n = c("[Dave]", "[Tony]", "[Sara]")
gsub("\\[|\\]", "", n)
[1] "Dave" "Tony" "Sara"
正則表達式替換可以做到這一點。看看gsub()函數。
這給你想要的東西(它消除 '[' 或 ']' 的任何實例):
gsub("\\[|\\]", "", n)
什麼是 'N' 的呢? –
其他答案應該足以得到你想要的結果。我只想提供一個簡單的解釋,說明你爲什麼嘗試不起作用。
paste
連接字符串。如果你paste
是一個空字符串,""
,對於一個分隔符也是一個空字符串的東西,你真的沒有改變任何東西。所以paste
不能縮短字符串;結果將是相同的(如你的例子)或更長。
如果tidyverse內工作:
library(tidyverse); library(stringr)
n = c("[Dave]", "[Tony]", "[Sara]")
n %>% str_replace_all("\\[|\\]", "")
[1] "Dave" "Tony" "Sara"
我很好奇,爲什麼你的'paste'命令,在過去的 「工作」 ... –