gpt4 book ai didi

match - 如何按前缀正确匹配英国邮政编码?

转载 作者:行者123 更新时间:2023-12-01 07:00:31 24 4
gpt4 key购买 nike

我有很多餐馆都可以送货到伦敦的某些邮政编码区域,例如:

  • EC1
  • WC1
  • WC2
  • W1

  • 当有人搜索送货上门的餐厅时,他们会输入完整的邮政编码。

    有些人用空格正确输入邮政编码,有些人只输入所有附加的字母和数字,没有空格分隔符。为了协调一致,我在尝试匹配之前删除了邮政编码中的任何空格。

    到目前为止,我曾经通过检查它是否以相关前缀开头来将邮政编码与前缀匹配,但后来我意识到这不是万无一失的:
  • WC1E123 => WC1 的正确匹配
  • W1ABC => W1 的正确匹配
  • W10ABC => W1 的不正确匹配, 应该只匹配 W10前缀

  • 我怎么知道, 给出一个没有空格的完整邮政编码 , 如果是 匹配给定的前缀 ,虽然没有失败 W1/ W10以上测试?

    是否有任何解决方案可以解决这个问题,而不是强制客户在正确位置输入带有空格的邮政编码?

    最佳答案

    英国邮政编码有 6 种可能的格式:

  • A9 9AA
  • A9A 9AA
  • A99 9AA
  • AA9 9AA
  • AA9A 9AA
  • AA99 9AA

  • 我认为您的解决方案需要分为两个部分。首先是验证输入;第二个是捕获第一部分。

    验证

    这真的很重要,即使我意识到您已经说过这不是您想要做的,但是如果没有它,您将很难获得正确的前缀,并可能将您的驱动程序发送到错误的地方!

    有几种方法可以做到,要么使用第 3 方帮助您获取完整且正确的地址(许多可用,包括 http://www.qas.co.uk/knowledge-centre/product-information/address-postcode-finder.htm(我的公司)),或者至少使用一些正则表达式/类似的理智测试以验证邮政编码 - 例如上面 Dmitri 给你的链接。

    如果您查看您列出的测试用例 - W1ABC 和 W10ABC 不是有效的邮政编码 - 如果我们得到正确的那一点,那么接下来的一点就会变得容易得多。

    提取前缀

    假设您现在有一个完整的、有效的邮政编码,只获取第一部分(输出代码)变得容易得多 - 有或没有空格。因为后半部分(incode)的标准格式是 9AA ,digit-alpha-alpha,我会通过发现并删除它来做到这一点,无论是来自 W1 0AA 的 W1 还是来自 W10 0AA 的 W10。

    或者,如果您使用第 3 方来捕获地址 - 他们中的大多数将能够为您分别返回输入代码和输出代码。

    关于match - 如何按前缀正确匹配英国邮政编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21616133/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com