问题:我有一个来自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
我有以下模式的字符串:12345ABCDE6789其中每组数字和字母的长度都是可变的。永远只有数字和字母,没有特殊字符。
我需要一种方法来获取数字直到第一个字母,以便上面的示例将返回12345.
我的想法是我可以找到第一个字母的字符串位置,然后将字符串修剪到该位置。但是我无法弄清楚如何在不知道角色是什么的情况下获得该索引。我发现的其他解决方案已经知道第一个字母是“A”,而我的可以是任何字母。
有没有一种简洁的方法来做到这一点?
我对正则表达式没有太多经验,但也许有更好的解决方案来解决这个问题?