Extract last word in string in R

What's the most elegant way to extract the last word in a sentence string?

The sentence does not end with a "." Words are seperated by blanks.

sentence <- "The quick brown fox"
TheFunction(sentence)

should return: "fox"

I do not want to use a package if a simple solution is possible. If a simple solution based on package exists, that is also fine.


Just for completeness: The library stringr contains a function for exactly this problem.

library(stringr)

sentence <- "The quick brown fox"
word(sentence,-1)
[1] "fox"

tail(strsplit('this is a sentence',split=" ")[[1]],1)

Basically as suggested by @Señor O.


x <- 'The quick brown fox'
sub('^.* ([[:alnum:]]+)$', '\\1', x)

That will catch the last string of numbers and characters before then end of the string.

You can also use the regexec and regmatches functions, but I find sub cleaner:

m <- regexec('^.* ([[:alnum:]]+)$', x)
regmatches(x, m)

See ?regex and ?sub for more info.