【问题标题】:FedEx 35 character limitationFedEx 35 个字符限制
【发布时间】:2013-09-27 20:47:43
【问题描述】:

我们使用 FedEx 作为我们的托运人。他们的标签打印机将我们限制为每个地址行 35 个字符。如果第一行超过 35 个字符的限制,我的同事正在讨论如何将地址行拆分为第二个地址行。我们在使用他们的地址验证服务时也遇到了这个问题。

我很好奇,其他人是如何处理 35 个字符的限制的?

提前致谢!

编辑

发布我开发的解决方案,以便对其他人有所帮助(为 Perl 编写,变量名已更改以保护无辜者)。

# handle too long strings
my $street1_string = sprintf( "%s", $ShipTo_Street_Line1 ) );
my $street2_string = sprintf( "%s", $ShipTo_Street_Line2 ) );
my $street1_final;
my $street2_final;
my $street1_length  = length($street1_string);
my $last_space_pos = rindex($street1_string, ' ');

# find and split on last space less than 35 characters
while($last_space_pos >= 35)
{
    if ($last_space_pos < 35)
    {
        break;
    }

    $last_space_pos = rindex($street1_string, ' ', $last_space_pos-1);
}

$street1_final = substr($street1_string, 0, $last_space_pos);
$street2_final = substr($street1_string, $last_space_pos+1, $street1_length) . ' ' . $street2_string;

【问题讨论】:

  • 可以假设没有人使用 FedEx 运送到 Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch。
  • 所以@HotLicks;你是英国人,但你能发音吗:-)?
  • (很多年前,我通过改用较窄的字体来处理邮寄标签上的这个问题。)
  • @Nate H ,如果您同意的话,我打算使用此代码而不注明出处?好吧,我将其转换为 PHP tho.Thx btw .
  • @D.Tate,继续。我在 SE 上发布答案的原因是为了帮助其他有类似问题的人。

标签: fedex


【解决方案1】:

是的,你说得对,字数限制可能很麻烦。我使用了一种不太优雅但有效的方法。 查找字符串中的所有“空格”,并在最接近但小于 35 的空格处拆分字符串,并将多余的部分放入地址行 2。您会注意到地址行 2 也只有 35 个字符。

【讨论】:

    【解决方案2】:

    我之前需要处理 usps 和 ups 标签。除了 35 个字符的限制外,还有 3 个地址行限制。如果地址行超过 35 个字符,我会尝试在“逗号”之后进行拆分。如果逗号不存在,则拆分最接近行尾的空格。如果已经有三个地址行,我会将额外的地址行移动到“公司”字段(运输标签有联系人、公司和 3 个地址行字段)。如果需要拆分的地址线多于两条,并且使用了所有 3 条地址线,则失败并出现错误。这种情况在数十万个地址中发生一次。

    【讨论】:

      猜你喜欢
      • 2016-05-29
      • 1970-01-01
      • 2020-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-24
      • 1970-01-01
      • 2018-08-21
      相关资源
      最近更新 更多