1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Intermediate R

Connected

cvičení

sub & gsub (2)

Regulární výrazy jsou typický koncept, který se nejlépe učí praxí a sledováním různých příkladů. Než začneš lámat hlavu nad regulárním výrazem v tomto cvičení, podívej se na novinky, které zde uvidíš:

  • .*: Starý známý! Lze ho číst jako „libovolný znak, který se vyskytuje nula nebo vícekrát".
  • \\s: Shoda s mezerou. „s" je normálně obyčejný znak, escapování (\\) z něj udělá metaznak.
  • [0-9]+: Shoda s číslicemi 0 až 9, alespoň jednou (+).
  • ([0-9]+): Závorky slouží k tomu, aby byly části shodného řetězce dostupné pro definici náhrady. \\1 v argumentu replacement funkce sub() se nastaví na řetězec zachycený regulárním výrazem [0-9]+.
awards <- c("Won 1 Oscar.",
  "Won 1 Oscar. Another 9 wins & 24 nominations.",
  "1 win and 2 nominations.",
  "2 wins & 3 nominations.",
  "Nominated for 2 Golden Globes. 1 more win & 2 nominations.",
  "4 wins & 1 nomination.")

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

Co tento kód vrátí? Vektor awards je v prostředí už definován, takže si to můžeš rovnou vyzkoušet v konzoli.

Pokyny

50 XP

Možné odpovědi