C# 如何解析要保存到数据库中的自由格式地址
我有一个文本区域,允许用户以自由格式键入地址,如何将用户输入的地址解析为address1、address2、city、state、zip和country并保存到DB中?您无法预测用户将如何输入地址,例如,一些人喜欢使用换行符,其他人喜欢使用逗号C# 如何解析要保存到数据库中的自由格式地址,c#,asp.net,C#,Asp.net,我有一个文本区域,允许用户以自由格式键入地址,如何将用户输入的地址解析为address1、address2、city、state、zip和country并保存到DB中?您无法预测用户将如何输入地址,例如,一些人喜欢使用换行符,其他人喜欢使用逗号 为了省去麻烦,我只需要为每个单独的项目设置单独的字段,或者只需将地址保存为一个完整的字符串。您在这里遇到了很多麻烦 各国之间的地址差别很大,即使在一个国家内部,解析也容易出错。曾经带领一个由2人组成的团队花了数月时间试图解析所有德语地址。到处都是愚蠢的小
为了省去麻烦,我只需要为每个单独的项目设置单独的字段,或者只需将地址保存为一个完整的字符串。您在这里遇到了很多麻烦 各国之间的地址差别很大,即使在一个国家内部,解析也容易出错。曾经带领一个由2人组成的团队花了数月时间试图解析所有德语地址。到处都是愚蠢的小特产 不幸的是,我认为这是不可靠的。如果输入是自由形式的,则不符合人们以各种方式输入地址的方式
使用一个像样的输入表单,而不是自由文本输入。我认为如果使用自由格式,您将无法正确解析它。您可以出于这些目的使用。另一种方法是要求用户按一定顺序输入信息 不要,请使用单独的字段数据输入表单 假设你没有/不能/不会听从这些建议,那么你必须对它是如何输入的做出一些假设。不过,你可以从结尾开始,然后一路努力,这样做会有点聪明 即:
- 被新行分割
- 第一行是门牌号和街道
- 最后一行可以是邮政编码/邮政编码
- 最后一行可能是城市
- 第一行和最后一行之间有一行是地址行2、3等
不同国家的地址格式差别很大。如果我是你,你有这个范围,我至少会提供一个国家下拉列表,这样你就可以为每个国家应用不同的解析规则