2013-11-03 13 views

答えて

3

に相当します。このように特殊文字でsubまたはgsubを使用する場合は、fixed = TRUEパラメータセットを使用できます。

これは、検索対象のパターンをそのまま表す文字列をそのまま使用し、は、の任意の特殊文字を無視します。

RドキュメントのPattern Matching and Replacementを参照してください。

x <- 'Aug 2013****' 
gsub('*', '', x, fixed=TRUE) 
#[1] "Aug 2013" 

あなたの第二の発現は、ちょうど、エスケープと同じを避けるために*の文字クラス[]を使用します。..

x <- 'Aug 2013*' 
gsub('\\s|\\*', '', x) 
#[1] "Aug2013" 

を限り、あなたの最初の式の説明として:\\s|*

\s  whitespace (\n, \r, \t, \f, and " ") 
|  OR 

第2の式:\\s|[*]

\s  whitespace (\n, \r, \t, \f, and " ") 
|  OR 
[*]  any character of: '*' 
3

ここで[]の使用は、*をリテラルアスタリスクにエスケープすること以外は何もありません。

最初の正規表現は無効です(*は "0以上"を意味する特殊文字です)。

第二の正規表現は、最初の式が故に*は特殊文字で、あなたがそれを使用している方法で、無効である

'\\s|\\*' 
関連する問題