始める無料で始める

grepl と grep

正規表現の基本的な使い方として、文字列や文字列ベクトルの中にパターンが存在するかどうかを調べることができます。そのために使う関数が以下の2つです。

  • grepl():対応する文字列にパターンが見つかった場合に TRUE を返します。
  • grep():パターンを含む文字列のインデックスをベクトルで返します。

どちらの関数も patternx という引数を受け取ります。pattern はマッチさせたい正規表現、x は検索対象の文字ベクトルです。

この演習と続く演習では、メールアドレスの文字ベクトルを操作していきます。ベクトル emails はあらかじめ定義されているので、すぐに指示に取り組めます。

この演習はコースの一部です

中級 R

コースを見る

演習の手順

  • grepl() を使って、各メールアドレスに "edu" が含まれるかどうかを示す論理値ベクトルを生成し、結果を出力してください。
  • 同じことを grep() でも行い、今度は返されるインデックスを変数 hits に保存してください。
  • 変数 hits を使って、emails ベクトルから "edu" を含むメールアドレスだけを取り出してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# The emails vector has already been defined for you
emails <- c("[email protected]", "[email protected]", "[email protected]",
            "invalid.edu", "[email protected]", "[email protected]")

# Use grepl() to match for "edu"


# Use grep() to match for "edu", save result to hits


# Subset emails using hits
コードを編集して実行