<-
x c("Anna",
"Berta Brigitte",
"Carla-Klara",
"Dana Dora Diana",
"Emilia E",
"F-Franziska",
" Gabi",
"Jana die Erste")
regex03
regex
textmining
string
Aufgabe
Gegeben sein ein String-Vektor, x
. Dieser Vektor enthält Vornamen mehrerer Personen. Extrahieren Sie den ersten Vornamen jeder Person.
Hinweise:
- Orientieren Sie sich im Übrigen an den allgemeinen Hinweisen des Datenwerks.
Lösung
library(stringr) # Teil von tidyvserse
library(purrr)
Liest man alle Zeichen vom Typ w
aus, so sind Bindestriche nicht enthalten:
str_match(x, "\\w+")
[,1]
[1,] "Anna"
[2,] "Berta"
[3,] "Carla"
[4,] "Dana"
[5,] "Emilia"
[6,] "F"
[7,] "Gabi"
[8,] "Jana"
Daher macht es vermutlich mehr Sinn, umgekehrt zu sagen, was man nicht will, nämlich Leerzeichen, also s
:
str_match(x, "[^\\s]+")
[,1]
[1,] "Anna"
[2,] "Berta"
[3,] "Carla-Klara"
[4,] "Dana"
[5,] "Emilia"
[6,] "F-Franziska"
[7,] "Gabi"
[8,] "Jana"
Die Ausgabe kann man noch vereinfachen, in dem wir aus der resultieren Matrix (Tabelle) die ersten Spalte auswählen:
[1] "Anna" "Berta" "Carla-Klara" "Dana" "Emilia"
[6] "F-Franziska" "Gabi" "Jana"
Categories:
- regex
- textmining
- string