You mention that the city name is a variable length, can we assume that the state and zip are fixed lengths (2 letters for state, not sure how many letters you have in a zip code - being from the UK an' all...)?
If there are 2 letters for state, a space, then say 6 digits for zip code, then try...