Question

Somewhat related to this question, but in the absence of any answer about QuickBooks specifically, does anyone know of an address parser for Java? Something that can take unstructured address information and parse out the address line 1, 2 and city state postal code and country?

Was it helpful?

Solution

I do know that the Google Maps web service is great at doing this. So, if you want to use that, you could save a lot of effort.

The real issue here is that you need a worldwide database of city/country/province names to effectively parse UNSTRUCTURED addresses.

Here is how I build a URL for use by the Google Maps API in C#:

string url = "http://maps.google.com/maps/geo?key=" + HttpUtility.UrlEncode(this.apiKey) + "&sensor=false&output=xml&oe=utf8&q=" + HttpUtility.UrlEncode(location);

OTHER TIPS

The SourceForge JGeocoder has an address parser that you may find useful. See http://jgeocoder.sourceforge.net/parser.html.

Might want to read this Stack Overflow question: "Parse usable Street Address, City, State, Zip from a string". No actual Java code to do the job (just some VB), but there is some discussion of the problem and more info on the alternative John Gietzen mentions, of using a web service to interpret it for you.

The Mural project has an address parser: https://mural.dev.java.net/. I haven't figured out how to exract it from the larger Mural engine, but it does work based on some very limited tests.

See www.address-parser.com, they offer a web service for parsing international addresses.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top