web-dev-qa-db-ja.com

文字列から括弧を削除します

Rの文字列からかっこを削除しようとすると、次のエラーが発生します。

string <- "log(M)"
gsub("log", "", string) # Works just fine
gsub("log(", "", string) #breaks
# Error in gsub("log(", "", test) : 
#   invalid regular expression 'log(', reason 'Missing ')''
25
mike

二重バックスラッシュを使用して括弧をエスケープします。

gsub("log\\(", "", string)

(必須: http://xkcd.com/234/

53
Ben Bolker

ベンの答えは、これを行う一般的に適切な方法を提供します。

あるいは、あなたの状況では、次のように_fixed=TRUE_引数を使用できます:

_gsub("log(", "", string, fixed=TRUE)
# [1] "M)"
_

gsub()pattern引数が、検索する文字のリテラルシーケンスを含む文字列である場合は常に適切です。次に、エスケープなどを使用せずに、検索している正確なパターンを入力できるため、素晴らしいです。

13
Josh O'Brien