【发布时间】:2011-04-12 08:33:45
【问题描述】:
我有一个我想忽略的单词列表,就像这样:
public List<String> ignoreList = new List<String>()
{
"North",
"South",
"East",
"West"
};
对于给定的字符串,比如说"14th Avenue North",我希望能够删除“North”部分,所以基本上是一个在调用时会返回"14th Avenue "的函数。
我觉得我应该可以通过混合使用 LINQ、正则表达式和替换来做一些事情,但我就是想不通。
更大的图景是,我正在尝试编写地址匹配算法。在使用 Levenshtein 算法评估相似度之前,我想过滤掉“Street”、“North”、“Boulevard”等词。
【问题讨论】:
-
但这不是一行@htw。如果不是一条线,您将不会获得任何极客积分。
-
不要让这个程序在北卡罗来纳州夏洛特运行。著名的道路名称恰好是东大道、南大道、西大道。这些是道路的名称,而不是现在您在 West 1st Street。 在其他情况下,您的方向不是真正的方向,而是道路的关键部分标识符。北安普顿、北湖(夏洛特的购物中心/地区)、北卡罗来纳州、北达科他州等
-
@Anthony :这是真的,我会小心我在字典中输入的内容。但是,我首先匹配邮政编码 (zip),它必须完全匹配才能使函数甚至考虑地址。从那里开始,我真的不介意我宁愿得到误报而不是错过结果。
-
那么你会很高兴知道东、西和南大道都相交!他们将共享一个拉链!我相信如果你能让你的程序在夏洛特运行,你就可以让它在任何地方运行。
-
加拿大完全没有北/南街道/林荫大道?我认为安东尼的评论比你的问题陈述更笼统。
标签: c# .net regex string replace