解析不一致的所列地址的最有效方法是什么

本文关键字:有效 方法 是什么 不一致 列地址 | 更新日期: 2023-09-27 18:33:47

所以基本上我有成千上万的街道列表想要组织。 街道列表当前存储在一个字符串变量中,如下所示:

123 Street dr
123 N Street dr
123 N Street drive
123 Street Drive
123-N Street drive
123 North Street drive

如您所知,它非常随机。 我真的很想将它们存储在一个名为 Location 的对象中,具有以下定义。

int streetNumber;
string direction;
string streetName;
string typeOfStreet;

如果重要的话,我正在用 C# 做这件事,我相信它更像是一个逻辑问题。 有没有简单的方法可以做到这一点? 它不一定是完全完美的,我只想获得大约 90% 的成功率,我会标记出我"组织"的那些。

提前致谢

解析不一致的所列地址的最有效方法是什么

正则表达式是最好的解决方案。http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.aspx

为了测试正则表达式,Visual Studio Addins中有正则表达式测试器,甚至是正则表达式在线测试器。网上还有正则表达式备忘单,可以快速学习。

我真的不认为有办法手动执行此操作,除非您知道当前存储它的每一种可能方式。 即,您可以轻松地在空格周围拆分字符串以获取单个项目,但对于第 5 个选项,您将无法执行此操作,因此如果它有-,则必须手动处理。但是,如果街道名称包含-等,您可能会遇到问题。

如果您可以将当前存储的项目修改为更具体的格式(即使它只是逗号分隔的项目或空格分隔等),那么您将能够使用简单的字符串函数和数组轻松操作它,这会更容易。