C#   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c# – 如何将地址解析为其各个组件?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的任务是构建一个解析特定网页的解析器,以便我们的员工可以将他们的用户数据批量导入我们公司的网站.

我已经利用HtmlAgilityPack来解析页面,我已将表行和表数据相关联,以便将其推送到Map类中的属性中.

然而,一栏让我感到很悲伤.由于各种各样的原因,地址栏是我身边的荆棘.

样本数据:

6313 SW 203rd Ave <br> Portland,OR 97224
16600 Lomita Way <br> El Dorado Hills,CA 95762
PO Box #42 <br> Hampton Bays,NY 11946

这些地址中的每一个都是这样包装的(显然地址可能因我们导入用户的客户而异):

<tr>
     <td> 6313 SW 203rd Ave <br> Portland,OR 97224 </td>
</tr>

我正在尝试实现一个正则表达式将其拆分到适当的区域,因此可以将其分配给相关属性

public string Unit { get; set; }
public string Street { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zip { get; set; }

但是地址不能提供很多锚定:

问题一:
如果我锚定< br>那我只是把线分开了.没有完全分裂成适当的部分.

问题二:
与单个逗号相同的问题.

问题三:
如果我锚定到数值,因为Zip可能对加拿大无效,并且可能根据街道名称错误地拆分.

分隔地址项目的最佳方法是什么?用正则表达式?

解决方法

解析地址很难;真的很难.
地址没有真正统一的格式,特别是跨国界.
您使用单一RegEx进行此操作的可能性极低.

有关一些示例和更深入的解释,请参阅此其他帖子.
How to parse freeform street/postal address out of text,and into components

大佬总结

以上是大佬教程为你收集整理的c# – 如何将地址解析为其各个组件?全部内容,希望文章能够帮你解决c# – 如何将地址解析为其各个组件?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: