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

时间:2013-10-02 14:12:12

标签: c# visual-studio-2010 logic

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

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%的成功率,我只会标记我已经“组织”的那些。

提前致谢

2 个答案:

答案 0 :(得分:1)

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

为了测试正则表达式,Visual Studio中有正则表达式测试器添加ins甚至正则表达式在线测试器。 还有在线的正则表达备忘单,可以快速学习。

答案 1 :(得分:0)

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

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