web-dev-qa-db-fra.com

Supprimer le motif de la chaîne avec gsub

J'ai du mal à supprimer la sous-chaîne avant le trait de soulignement dans ma chaîne. Je veux utiliser * (caractère générique) car le bit avant le trait de soulignement peut varier:

a <- c("foo_5", "bar_7")

a <- gsub("*_", "", a, Perl = TRUE)

Le résultat devrait ressembler à:

> a
[1] 5 7

J'ai aussi essayé des trucs comme "^ * " ou "?" mais ça n'a pas vraiment fonctionné.

25
user969113

Le code suivant fonctionne sur votre exemple:

gsub(".*_", "", a)
49
Pop

Alternativement, vous pouvez également essayer:

gsub("\\S+_", "", a)
7
Madhu Sareen