2016-12-19 20 views
0

B.csvファイルの周りのA.csvファイルから文字列を検索したいと考えています。 grep()は、すべての文字列についてよく機能しますが、角括弧を含む文字列では機能しません。括弧で正確に一致する文字列を見つけるgrep()

私の例:

example <- "how are you (fine)" 

なぜ(grepをしません)括弧で動作しますか?

> grep("how are you (fine)", example) 
integer(0) 

完全一致文字列が必要です。

答えて

2

()はグループとして取得することを意味するメタ文字であるため、()をエスケープする必要があります。

grep("how are you \\(fine\\)", example) 
#[1] 1 

あるいは、我々はfixed=TRUE

grep("how are you (fine)", example, fixed=TRUE)  
#[1] 1 

を必要とし、それは完全一致文字列である場合は、さえ==

example == "how are you (fine)" 
#[1] TRUE 
+0

なぜ^」(grepしていませんを使用することができますどのようにあなたは($)、例、固定=真)仕事ですか?ありがとう@akrun –

+0

@MarioM。正規表現 '^'と '$'を使用しているので、文字列の先頭と末尾にメタ文字の意味がありますが、 'fixed = TRUE'は文字列中の文字であることを確認します。あなたはあなたの例として$ "を使っています。 – akrun

関連する問題