gpt4 book ai didi

c# - 我怎样才能将地址​​解析成它的各个组成部分?

转载 作者:行者123 更新时间:2023-11-30 13:57:02 27 4
gpt4 key购买 nike

我的任务是构建一个解析器来解析特定网页,以便我们的员工可以将他们的用户数据批量导入到我们公司的网站中。

我使用了 HtmlAgilityPack 来解析页面,我关联了 table rowtable data将被插入我的属性 Map类。

但是有一个专栏让我很伤心。由于种种原因,Address 列是我的眼中钉。

示例数据:

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; }

但是这些地址并没有提供太多的 anchor :

问题一:如果我锚定 <br>然后我只是分开线。没有完全分成适当的段。

问题二:单个逗号也有同样的问题。

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

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

最佳答案

解析地址很难;真的很难。没有真正统一的地址格式,尤其是跨国界的地址。您不太可能使用单个 RegEx 执行此操作。

有关一些示例和更深入的解释,请参阅另一篇文章。 How to parse freeform street/postal address out of text, and into components

关于c# - 我怎样才能将地址​​解析成它的各个组成部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23299464/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com