Существует ли передовая практика или общий алгоритм для реализации преобразования естественной строки поиска местоположения местоположения (только для США) в отдельные компоненты?
Например:
City Name, ST 00000
TO
city => City Name
state => ST
zipcode => 00000
Это для формы, поэтому мне не нужно обрабатывать любые возможные перестановки - я могу ограничить формат чем-то вроде: city, st 00000
, но мне нужно иметь возможность обрабатывать пропуск любого из сегментов в формате, чтобы они были необязательными для некоторых степень... некоторые примеры поддерживаемых комбинаций (без учета регистра):
00000 // zipcode
0000-00000 //zipcode
city, st / city and state - comma separated
city st // city and state - space separated
city, st 00000 // city state zip
st 00000 // state and zip - though i only really need the zip
city 00000 // city and zip - though i only really need the zip
Я также могу использовать статический набор сокращений состояний, чтобы при необходимости их можно было сопоставить для проверки сегмента состояния.