あなたstrings
ベクター中の文字列のいずれかにマッチする正規表現で使用grepl()
:
strings <- c("ape", "bat", "cat")
まず、あなたが必要な正規表現にstrings
ベクトルを折りたたむことができます。
regex <- paste(strings, collapse = "|")
これは:
> regex <- paste(strings, collapse = "|")
> regex
[1] "ape|bat|cat"
パイプ記号又はオペレータとして|
働くので、この正規表現ape|bat|cat
はape
又はbat
又はcat
に一致します。
あなたdata.frame df
は、次のようになります場合:
> df
# A tibble: 3 x 1
column
<chr>
1 ape and some other text here
2 just some random text
3 something about cats
その後、ご希望の文字列に一致する行だけを返すために、次のコード行を実行することができます。
df[grepl(regex, df$column), ]
が出力されます
> df[grepl(regex, df$column), ]
# A tibble: 2 x 1
column
<chr>
1 ape and some other text here
2 something about cats
上記の例はcase-insens itiveでは、指定されたとおりに小文字の文字列と完全に一致します。ここで
> df[grepl(regex, df$column, ignore.case = TRUE), ]
# A tibble: 2 x 1
column
<chr>
1 ape and some other text here
2 something about Cats
は良い答えを得るために最初のステップです::[尋ねる]あなたは(大文字
Cats
に注意してください)grepl()
のignore.case
パラメータを使用して簡単にこれを克服することができます。 –ありがとうございます。私は完全に終わる前に投稿しました。あなたの時間を無駄にすることをお詫び申し上げます。 – Chris
より良い。しかし今、私たちはもっと文脈が必要です。データからの再現性のある小さな例と、データが大いに役立つ場合の望ましい結果を提供します。 –