Hi Frank,

FWIW, here are two formulae to parse the data:
Locales (all upper case):
=UPPER(TRIM(SUBSTITUTE(LEFT(A2,MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456 789"))-1),".","")))
Zip Codes (minus suites etc):
=IF(ISERROR(SEARCH(" ",MID(A2,MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789")),LEN(A2)))),MID( A2,MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789")),LEN(A2)),LEFT(MID(A2, MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789")),LEN(A2)),SEARCH(" ",MID(A2,MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789")),LEN(A2)))))