2017-06-16 6 views
1

$`GPEで始まるRの文字列内の単語のベクトルを取得したいとします。 は、これは私が試したものです:パターンで始まる文字列内の単語のベクトルを取得する - R

grep(pattern = "$`GPE", x = GPE_string, value = TRUE) 

それが返さしかし:character(0)

+0

例' GPE_string'は次のようになります役に立った – Matt

+0

私は実際にGPE_stringが文字列ではないことを知りました。それはS4です(それが何であるかはわかりません)。しかし、誰もが今、その情報を持つ解決策を持っていますか? –

+0

私が探していたのはls(GPE_string) –

答えて

1

をお試しください:

library(stringr) 
str_extract_all(GPE_string, "(\\$`GPE.+?)\\b") 

説明:

  • パターンで$\\
  • でエスケープする必要があります210
  • (...)で囲まれた部分は、
  • \\bを抽出するには、ワード境界を意味し、.+?str_extract_allの結果は、入力ベクトル内の各列のための ベクトルのリストである

一つ以上の文字を意味します。あなただけの "$` GPE" で始まる単語を探しているなら

0

あなたは文字をエスケープする必要があります。

あなたはstringrstr_extract_allを使用してこれを行うことができます

grep(pattern="\$\`GPE", x=GPE_string, value=TRUE) 
+0

です。エラー: '\ $'は認識できないエスケープ文字列 "\ $" –

0

、あなたが行うことができます:

は、例えばので
GPE_string[startsWith(GPE_string, "$`GPE")] 

> GPE_string<- c("$`GPE_Hello", "$`GPEWorld", "Hello", "World") 
> GPE_string 
[1] "$`GPE_Hello" "$`GPEWorld" "Hello"  "World"  
> GPE_string[startsWith(GPE_string, "$`GPE")] 
[1] "$`GPE_Hello" "$`GPEWorld" 
関連する問題