Regex is very powerful but in this case it is like using a sledgehammer to crack a nut. The disadvantage of Regex in this case (as you have discovered) is that there is no equivalent of
StringSplitOptions.RemoveEmptyEntries
although you could use something like
var matches = reg.Split(input).Where(s => !String.IsNullOrEmpty(s));
Personally I prefer the method proposed by _dude_ in Solution 1 but modified to handle empty strings and other anomalies thus:
string lastWord = input.Split(new char[] {' '},
StringSplitOptions.RemoveEmptyEntries).LastOrDefault();