私は自分のデータフレームから「(」オープニングブラケットを含む行を削除したい 特殊文字を含む行を削除する方法は?
は、私は、次の試してみました:。df[!grepl("(", df$Name),]
しかし、これは(
看板を追跡しません
私は自分のデータフレームから「(」オープニングブラケットを含む行を削除したい 特殊文字を含む行を削除する方法は?
は、私は、次の試してみました:。df[!grepl("(", df$Name),]
しかし、これは(
看板を追跡しません
あなたは\\
と(
をダブルエスケープする必要があります。
x <- c("asdf", "asdf", "df", "(as")
x[!grepl("\\(", x)]
# [1] "asdf" "asdf" "df"
ちょうど目を適用しますコメントで@CSquareによって指摘
x[!grepl("[[:punct:]]", x)]
として、here is a great summary about special characters in R regex
追加入力:また、正規表現を使用して、すべてのpuctuation文字の削除について考えることができdf[!grepl("\\(", df$Name), ]
のようなあなたのDFにありますコメントから:
@Sotos:正規表現がバイパスされる可能性があるので、pattern='('
とfixed = TRUE
でパフォーマンスが向上します。
x[!grepl('(', x, fixed = TRUE)]
'('正規表現の一部としてではなく文字としてgrepの表現で理解されているオープン括弧をエスケープしてみてください。。 '\\('、これが機能するかどうかを確認あなたは見つけることができます詳細はこちら:https://stackoverflow.com/questions/27721008/how-do-i-deal-with-special-characters-like-in-my-regex – Deena
?df [!grepl(\\(、 df $ Name)、] – nemja