2
有人能解釋爲什麼"Won 1 Oscar."
可以根據以下給出的正則表達式來挑選出
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)
我只能得到該模式是"abcd (any number 0 -9) nominationabcd"
。一旦模式匹配,數字將取代整個字符串。匹配的"Won 1 Oscar"
來自第二個元素。我感到困惑的是,沒有nomination.*
以下"Won 1 "
和爲什麼似乎沒有替代品。
它不會被替換,因爲它與您的表達不匹配,就這些了,請參閱此演示:https://ideone.com/R03jGK – Jan
從'?gsub'的Value部分的第4段:*字符元素未被替代的向量x將不會被返回*。 – lmo
@Jan @Imo所以它意味着'gsub'也會返回一個長度爲5的向量。如果沒有匹配,原始元素將被返回,對吧? – DXC