CommencerCommencer gratuitement

sub & gsub (2)

Les expressions régulières s’apprennent surtout en pratiquant et en observant des exemples. Avant de vous creuser la tête sur l’expression régulière de cet exercice, jetez un œil aux nouveautés utilisées :

  • .* : un grand classique ! À lire comme « n’importe quel caractère, répété zéro fois ou plus ».
  • \\s : correspond à un espace. Le « s » est normalement un caractère ; en l’échappant (\\), il devient un métacaractère.
  • [0-9]+ : correspond aux chiffres de 0 à 9, au moins une fois (+).
  • ([0-9]+) : les parenthèses permettent de récupérer une partie de la chaîne reconnue pour définir le remplacement. Le \\1 dans l’argument replacement de sub() reçoit la chaîne capturée par l’expression régulière [0-9]+.
awards <- c("A gagné un Oscar.",
  "A gagné un Oscar. 9&nbsp;victoires supplémentaires et 24&nbsp;nominations.",
  "1&nbsp;victoire et 2&nbsp;nominations.",
  "2&nbsp;victoires et 3&nbsp;nominations.",
  "En lisse pour 2&nbsp;Golden Globes. 1&nbsp;victoire supplémentaire et 2&nbsp;nominations.",
  "4&nbsp;victoires et 1&nbsp;nomination.")

sub(".*\\s([0-9]+)\\snomination.*$", "\\1", awards)

Que renvoie cet extrait de code ? awards est déjà défini dans l’espace de travail, vous pouvez donc commencer à tester directement dans la console.

Cet exercice fait partie du cours

R niveau intermédiaire

Afficher le cours

Exercice interactif pratique

Passez de la théorie à la pratique avec l’un de nos exercices interactifs

Commencer l’exercice