【问题标题】:substring to trim US 5+4 postal codes but keep Canada zip codes untouched用于修剪美国 5+4 邮政编码但保持加拿大邮政编码不变的子字符串
【发布时间】:2020-04-16 00:40:11
【问题描述】:

我需要为基于 Java 的中间件解决方案编写逻辑,以便能够修剪 5+4 位美国邮政编码并仅返回(修剪/子字符串)5 位代码。但是......我需要有代码才能不修改任何加拿大邮政编码(ABCD DEF)。

如何使用使用 Java 7.5 版的软件来实现这一点?

【问题讨论】:

  • 你确定你需要修剪这个吗?如果您需要邮寄东西给某人,ZIP+4 实际上非常好。无论如何,使用像 (\\d{5})-\\d{4} 这样的正则表达式,如果它匹配它的 5 位数字后跟一个破折号,然后是 4 位数字(你可以得到 group(1))。
  • 谢谢。我知道 zip+4 带来了价值,但是出于商业原因,无法使用它。但是谢谢我会使用这个建议:)

标签: java substring


【解决方案1】:

如果代码的字符数超过 8 个,则修剪最后 5 个字符。差不多就这些了。

【讨论】:

  • 谢谢!。是的,我实际上使用的是起始位置为 0 的子字符串并修剪最后 7 个值。对于加拿大来说,它正在工作,但对于美国来说,它增加了两个零……这就是我试图出售的简单解决方案。有一个额外的零应该不是问题:D
【解决方案2】:

您可以使用网络服务来验证您的邮政编码。 Here 就是这样一种服务,例如美国的邮政编码“12180”。如果它是无效的美国邮政编码,它将返回状态代码 417,表示“预期失败”。希望对您有所帮助。

【讨论】:

  • 这很酷。我将检查寻找该选项的方法。中间件解决方案已经具有与数据骨架的映射,并且无法调用 WS 来验证它,但是我可以使用值表来读取格式,如果它是真或假,具体取决于所需的格式...
猜你喜欢
  • 2019-02-25
  • 2011-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多