2013-10-17 39 views
1

$符號假設的是,R輸出如下所示:如何提取元件,其包括從字符向量

> website.fund.chvec1 

    [1] ""   "LOGIN"   "or"    "SIGN"   "UP "   
     ""   "The"   "Team:"   ""    
[10] "$74,810" "TOTAL"   "RAISED"   "SO"    "$14,530"  

我想提取每一個包括從所述字符向量website.fund.chvec1$符號元素。無論如何去做?我的意思是,除了website.fund.chvec1,我也有website.fund.chvec2website.fund.chvec3等,和元件,包括$跡象的指標並不總是10和14 ....

謝謝:)

回答

1

是的,很簡單:

grep('\\$', website.fund.chvec) 

grep搜索正則表達式,所以我需要逃避$牌子,上面是正則表達式中一個特殊字符。或者,您可以使用

grep('$', website.fund.chvec, fixed = TRUE) 

使grep按原樣處理搜索模式。

+1

如果您想獲取元素而不是索引,可以添加'value = TRUE'。 – juba

+0

謝謝:)我試過grep('$',website.fund.chvec),但結果不是我想要的,所以我在這裏問了....現在我知道我應該寫'\\ $'而不是'$'....「\\」究竟是幹什麼的? –

+0

@ user2871333「$」是正則表達式中的一個特殊字符(用於表示字符串的結尾)。所以你必須用「\」來逃避它。但是,R將字符串中的「\」視爲特殊字符,因此您可以使用另一個「\」來轉義該字符串,並獲得「\\ $」。你在第二個例子中看到的'fixed'參數告訴'grep'不使用正則表達式,在這種情況下,「$」不再特殊,所以不再需要轉義。 – Gregor

0
require(stringr) 
website.fund.chvec[str_detect(website.fund.chvec, pattern = "\\$")] 
相關問題