I am having some difficulty normalizing reverse geocodes for comparison from one Geocoding Service to another (in this case OpenStreetMap). The _address that is returned can pretty easily split up into a list or separate attributes with most services as they are consistent.
However, OSM’s _address has extra information and parsing it to be consistent with anything else has been a challenge. See below where instead of having an AddressNumber, a null, or a 0, I get Falmouth Public Schools & Moonlight Meadery in the 1st position. For that matter, I sometimes get supplementary place names such as Seaport & South Boston when expecting a Town in a particular separation/position. So it throws off looking in any specific list due to the inconsistent placement.
Some are normal, but many either don’t contain the expect info or add info that is unnecessary for my needs.
What I want to make into attributes: AddressNumber Street Town State ZipCode
OpenStreetMap gives me this in a test...

Any ideas how I might achieve that without pulling out more hair like from the list above? Am I missing something with Transformers that may be helpful?
Many thanks!