Modérateur : Groupe des modérateurs
Code : Tout sélectionner
donnees <-
data.frame(
x = c("Genre espèce Auteur [Date]", "Genre2 espèce2 Auteur [Date]")
)
sub("([^ ]+ [^ ]+) .+", "\\1", donnees$x)
#> [1] "Genre espèce" "Genre2 espèce2"
Code : Tout sélectionner
sub(
"(( [^ ]+){2})$",
"",
c("Genre espèce Auteur [Date]", "Genre2 espèce2 Auteur [Date]")
)
#> [1] "Genre espèce" "Genre2 espèce2"
Code : Tout sélectionner
sub(" [A-Z].+",
"",
c("Genre espèce Auteur [Date]", "Genre2 espèce2 Auteur [Date]")
)
Code : Tout sélectionner
do.call(
paste,
read.table(text = c("Genre espèce yz [Date1]", "Genre2 espèce2 abc [Date2]"))[1:2]
)
Code : Tout sélectionner
st <- strsplit(
c("Genre espèce Auteur [Date]", "Genre2 espèce2 Auteur [Date]"),
" "
)
sapply(lapply(st, head, 2), paste, collapse = " ")
Code : Tout sélectionner
x <- c("Genre espèce Auteur [Date]", "Genre2 espèce2 Auteur [Date]")
bm <- bench::mark(
sub("(( [^ ]+){2})$", "", x),
sub("([^ ]+ [^ ]+) .+", "\\1", x),
sub(" [A-Z].+", "", x),
do.call(paste, read.table(text = x)[1:2]),
sapply(strsplit(x, " "), \(.x) paste(head(.x, 2), collapse = " "))
)
plot(bm)
#> Loading required namespace: tidyr
Retourner vers « Questions en cours »
Utilisateurs parcourant ce forum : Google [Bot] et 1 invité