one option:
If Address is in A1:
then in B1:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,C1,""),D1,""),E1,"")
in C1:
=SUBSTITUTE(SUBSTITUTE(TRIM(MID(A1,FIND("^^",SUBSTITUTE(A1," ","^^",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))-2)),255)),E1,""),D1,"")
in D1:
=SUBSTITUTE(TRIM(MID(A1,FIND("^^",SUBSTITUTE(A1," ","^^",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))-1)),255)),E1,"")
in E1:
=TRIM(MID(A1,FIND("^^",SUBSTITUTE(A1," ","^^",LEN(A1)-LEN(SUBSTITUTE(A1," ","")))),255))
each copied down.
Edit: Noticed that I didn't extract City... revised solution.
Bookmarks