Rで特定の文字以降の文字列を抽出する方法


次のメソッドを使用して、R の特定の文字の後の文字列を抽出できます。

方法 1: Base R を使用して特定の文字以降の文字列を抽出する

 sub(' .*the ', '', my_string)

方法 2: stringr を使用して特定の文字以降の文字列を抽出する

 library (stringr)

str_replace(my_string, ' (.*?)the(.*?) ', ' \\1 ')

これらの例はどちらも、 my_string内の「the」パターンの後の文字列を抽出します。

次の例は、次のデータ フレームで各メソッドを実際に使用する方法を示しています。

 #create data frame
df <- data. frame (team=c('theMavs', 'theHeat', 'theNets', 'theRockets'),
                 dots=c(114, 135, 119, 140))

#view data frame
df

        team points
1 theMavs 114
2 theHeat 135
3 theNets 119
4 theRockets 140

例 1: Base R を使用して特定の文字の後の文字列を抽出する

次のコードは、データ フレームのチーム列の各行の「the」の後の文字列を抽出する方法を示しています。

 #create new column that extracts string after "the" in team column
df$team_name <- sub(' .*the ', '', df$team)

#view updated data frame
df

        team points team_name
1 theMavs 114 Mavs
2 theHeat 135 Heat
3 theNets 119 Nets
4 theRockets 140 Rockets

Team_nameという新しい列には、データ フレームのチーム列の各行の「the」の後の文字列が含まれることに注意してください。

関連: R の sub() の概要

例 2: stringr パッケージを使用して特定の文字の後の文字列を抽出する

次のコードは、R のstringrパッケージのstr_replace()関数を使用して、データ フレームのチーム列の各行の「the」の後の文字列を抽出する方法を示しています。

 library (stringr)

#create new column that extracts string after "the" in team column
df$team_name <- str_replace(df$team, ' (.*?)the(.*?)', '\\1 ')

#view updated data frame
df

           team points team_name
1 Mavs pro team 114 Mavs
2 team Heat pro 135 Heat
3 Nets pro team 119 Nets

Team_nameという新しい列には、データ フレームのチーム列の各行の「the」の後の文字列が含まれることに注意してください。

これは、ベース R でsub()関数を使用した結果と一致します。

追加リソース

次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。

Rで特定の文字列を含む列を選択する方法
R の文字列から文字を削除する方法
Rで文字列内の文字の位置を見つける方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です