Hoe een string na een specifiek teken in r te extraheren


U kunt de volgende methoden gebruiken om een tekenreeks na een specifiek teken in R te extraheren:

Methode 1: Extraheer de tekenreeks na specifieke tekens met Base R

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

Methode 2: Extraheer de tekenreeks na specifieke tekens met behulp van stringr

 library (stringr)

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

Beide voorbeelden extraheren de string na het patroon “the” in my_string .

De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met het volgende dataframe:

 #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

Voorbeeld 1: Extraheer een tekenreeks na specifieke tekens met Base R

De volgende code laat zien hoe u de tekenreeks na ‚de‘ extraheert voor elke rij in de teamkolom van het dataframe:

 #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

Houd er rekening mee dat de nieuwe kolom met de naam teamnaam de tekenreeks na ‚de‘ bevat voor elke rij in de teamkolom in het gegevensframe.

Gerelateerd : Een inleiding tot sub() in R

Voorbeeld 2: Extraheer een string na specifieke tekens met behulp van het stringr-pakket

De volgende code laat zien hoe u de tekenreeks na „the“ voor elke rij in de teamkolom van het dataframe kunt extraheren met behulp van de functie str_replace() uit het stringr- pakket in R:

 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

Houd er rekening mee dat de nieuwe kolom met de naam teamnaam de tekenreeks na ‚de‘ bevat voor elke rij in de teamkolom in het gegevensframe.

Dit komt overeen met de resultaten van het gebruik van de functie sub() in basis R.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:

Hoe u kolommen selecteert die een specifieke tekenreeks bevatten in R
Hoe tekens uit een string in R te verwijderen
Hoe de tekenlocatie in een string in R te vinden

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert