私は、Rスクリプトにフレーズを引数として読み込んでいます。フレーズにアスタリスク(*
)が含まれている場合は、スクリプトを実行したくありません。Rでgreplを使用してアスタリスクを検索する
しかし、greplを使用しているときにアスタリスクを認識する際に問題が発生しています。たとえば:grepl(asterisk,phrase1)
ため
> asterisk="*"
> phrase1="hello"
> phrase2="h*llo"
> grepl(asterisk,phrase1)
[1] TRUE
> grepl(asterisk,phrase2)
[1] TRUE
結果はFALSE
でなければなりません。フレーズにアスタリスクがあるかどうかを知るために、どのように私がgrepl
を得ることができるか知っていますか? *
アスタリスクは、通常のexpresssionで特別な意味を持っているので、これは動作します
p <- c("Hello", "H*llo")
grepl("\\*", p)
[1] FALSE TRUE
:
ノートhttps://en.wikipedia.org/wiki/Asterixをエスケープの意味を持っているので、二重のエスケープが必要である –
一部他の人は注意してください:http://stackoverflow.com/q/399078/ – Frank