C# 从地址中提取邮政编码
我正在寻找一个用c#从地址中提取邮政编码信息的解决方案 下列国家的邮政编码C# 从地址中提取邮政编码,c#,.net,postal-code,C#,.net,Postal Code,我正在寻找一个用c#从地址中提取邮政编码信息的解决方案 下列国家的邮政编码 Canada,US,Germany,UK,Turkey,France,Pakistan,India,Italy. 地址可以是这样的 188 pleasant street, new minas, Nova Scotia b2p 6r6, Canada. 或 巴基斯坦卡拉奇市DHA 3区109 A,邮编75600 我想要的:我想要提取任何与城市或国家名称相邻的字母数字。但在为其创建正则表达式时遇到困难我认为您可以假设地
Canada,US,Germany,UK,Turkey,France,Pakistan,India,Italy.
地址可以是这样的
188 pleasant street, new minas, Nova Scotia b2p 6r6, Canada.
或
巴基斯坦卡拉奇市DHA 3区109 A,邮编75600
我想要的:我想要提取任何与城市或国家名称相邻的字母数字。但在为其创建正则表达式时遇到困难我认为您可以假设地址中的一般规则,即国家是最后一个,城市或州在其之前,因此邮政编码可以放置在城市或州和国家之间,并且如您在示例中所述,“”用作分隔符,因此可以如下所示:
private string GetPostCode(string address )
{
string result = string.Empty;
string[] list = address.Split(',');
list.Reverse();
foreach (var item in list)
{
// if item contains numeric postcode
Regex re = new Regex(@"\d+");
Match m = re.Match(item);
result = m.Value;
if (!string.IsNullOrEmpty(result))
break;
}
return result;
}
我希望这会有所帮助。我认为,您在地址中假设国家是最后一个,城市或州在前面是合理的,因此邮政编码可以放在城市或州和国家之间,正如您在示例中所述,使用“,”作为分隔符,因此可以如下所示:
private string GetPostCode(string address )
{
string result = string.Empty;
string[] list = address.Split(',');
list.Reverse();
foreach (var item in list)
{
// if item contains numeric postcode
Regex re = new Regex(@"\d+");
Match m = re.Match(item);
result = m.Value;
if (!string.IsNullOrEmpty(result))
break;
}
return result;
}
我希望这会有帮助。这是一项非常开放的任务。你必须遵循一些特定的格式。因为如果地址中有两个数字字符串(比如street是一个数字),会发生什么。因此,有两种选择是可能的:
- 地址总是采用特定的格式,您知道实际的格式
- 拉链的长度总是给定的
“group”可选参数表示包含邮政编码的正则表达式组。这是一项非常开放的任务。你必须遵循一些特定的格式。因为如果地址中有两个数字字符串(比如street是一个数字),会发生什么。因此,有两种选择是可能的:
- 地址总是采用特定的格式,您知道实际的格式
- 拉链的长度总是给定的
“group”可选参数表示包含邮政编码的regex组。如果您显示您的代码、输入内容、输出内容以及出现的问题,人们将更容易为您提供帮助。与论坛网站不同,我们不使用“谢谢”或“感谢任何帮助”或签名。看见“这听起来像是一件很有价值的事情。在我看来,可能已经有人写了这篇文章,并把它卖掉了。他们甚至可能有技术支持。当有人已经比你做得更好的时候,你为什么还要自己做这件事呢?@salniro是的。我有个主意。我想提取任何与城市或国家名称相邻的字母数字。但是,如果你在为它创建正则表达式时遇到困难,那么这篇文章可能会帮助你。如果你展示你的代码,输入是什么,输出是什么,出了什么问题,人们会更容易帮助你。与论坛网站不同,我们不使用“谢谢”或“感谢任何帮助”或签名。看见“这听起来像是一件很有价值的事情。在我看来,可能已经有人写了这篇文章,并把它卖掉了。他们甚至可能有技术支持。当有人已经比你做得更好的时候,你为什么还要自己做这件事呢?@salniro是的。我有个主意。我想提取任何与城市或国家名称相邻的字母数字。但是为它创建正则表达式有困难这篇文章可能会帮助你,但这不是答案。您可能应该告诉正则表达式模式或其他东西。@KaushikKishore:代码已更新。但我仍然不想写精确的代码,我只是想给出一个建议。谢谢你的评论。这不是答案。您可能应该告诉正则表达式模式或其他东西。@KaushikKishore:代码已更新。但我仍然不想写精确的代码,我只是想给出一个建议。谢谢你的评论。