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 已在工作空间中定义,您可以直接在控制台尝试。
本练习是课程的一部分
