开始使用免费开始使用

sub 与 gsub(2)

正则表达式最适合通过练习和参考示例来学习。在您为本题的正则表达式绞尽脑汁之前,先看看将会用到的新知识点:

  • .*:常见的通配符!可理解为"任意字符,匹配 0 次或多次"。
  • \\s:匹配空格。字母 "s" 原本是普通字符,加上转义(\\)后变成元字符。
  • [0-9]+:匹配数字 0 到 9,至少 1 次(+)。
  • ([0-9]+):圆括号用于捕获匹配字符串的部分,以便在替换时引用。在 sub()replacement 参数中,\\1 会被设置为由正则表达式 [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)

这段代码会返回什么?awards 已在工作空间中定义,您可以直接在控制台尝试。

本练习是课程的一部分

R 中级

查看课程

动手互动练习

通过我们的互动练习之一,将理论转化为实践

开始练习