我们使用 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;