2016-07-26 11 views

答えて

2

単一\\は、エスケープ文字であるため、無効です。単一のバックスラッシュは、実際には2つのバックスラッシュ\\で表されます。最初の文字はエスケープ文字として機能し、2番目の文字は実際のバックスラッシュです。関数catを使用して、最終文字列を印刷することができます(内部R表現とは対照的に)。

text <- "text with \\ backslash" 
text 
# [1] "text with \\ backslash" 
cat(text) 
# text with \ backslash 

Rの文字列内の単一のバックスラッシュは、2つのバックスラッシュ\\で表現されているので、あなたはバックスラッシュ正規表現で\\\\を必要としています。これは、\が正規表現のエスケープ文字でもあるためです。従って、\\\\は、2回\\と解釈することができます。あなたが"text with backslash"を取得するために\記号を置き換えたい場合は

grep(pattern = '\\\\', text, value = TRUE) 
# [1] "text with \\ backslash" 
+0

ありがとうございました。これは非常に役に立ちます。 – Deena

関連する問題