问题:我有一个来自Access数据库的地址字段,该数据库已转换为Sql Server 2005.此字段包含一个字段中的所有内容.我需要将地址的各个部分解析为规范化表中的相应字段.我需要为大约4,000条记录执行此操作,并且它需要是可重复的.
假设:
假设在美国的地址(现在)
假设输入字符串有时包含收件人(被发送者)和/或第二个街道地址(即B组)
国家可以缩写
邮政编码可以是标准的5位数或zip + 4
在某些情况下存在拼写错误
更新:在回答提出的问题时,标准并未普遍遵循,我需要存储个别值,而不仅仅是地理编码和错误意味着拼写错误(上面已修正)
样本数据:
AP Croll&Son 2299 Lewes-Georgetown Hwy,Georgetown,DE 19947
11522 Shawnee Road,Greenwood DE 19950
144 Kings Highway,SW Dover,DE 19901
综合Const.服务2 Penns Way Suite 405 New Castle,DE 19720
Humes Realty 33 Bridle Ridge Court,Lewes,DE 19958
Nichols Excavation 2742 Pulaski Hwy Newark,DE 19711
2284 Bryn Zion Road,Smyrna,DE 19904
VEI Dover Crossroads,LLC 1500 Serpentine Road,Suite 100 Baltimore MD 21
580 North Dupont Highway Dover,DE 19901
PO Box 778 Dover,DE 19903
我正在寻找一个好的工具,可以采用完整的邮件地址,格式化显示或与邮件标签一起使用,并将其转换为结构化对象.
例如:
// Start with a formatted address in a single string
string f = "18698 E. Main Street\r\nBig Town, AZ, 86011";
// Parse into address
Address addr = new Address(f);
addr.Street; // 18698 E. Main Street
addr.Locality; // Big Town
addr.Region; // AZ
addr.PostalCode; // 86011
Run Code Online (Sandbox Code Playgroud)
现在我可以使用RegEx来做到这一点.但棘手的部分是保持它足够通用,以处理世界上的任何地址!
我确信必须有一些可以做到的东西.
如果有人注意到,这实际上是opensocial.address对象的格式.