What I want to do is extract Last using a variable for the starting position and a variable for the ending location.
You're saying two different things here. They're not necessarily contradictory or mutually exclusive, but you need to be clear what the two different things are.
#1 "I want to extract the first word in a multi-word string, where the words are delimited by spaces" (leaving non-word, non-space characters out of the mix)
#2 "I want to extract a substring beginning at a specified numerical location and ending at a different specified location" (or "ending after a specified number of characters" -- so, OK, two and a half things).
So the question is #1 do you want to feed in some numbers that, in the example given, will happen to return the string "Last" or #2 do you want to perform a function that, in the example given, will happen to return the first four characters of the original string?