配送業者として FedEx を使用しています。彼らのラベル プリンターでは、住所 1 行あたり 35 文字までに制限されています。私の同僚は、最初の行が 35 文字の制限を超えた場合に、住所行を 2 番目の住所行に分割することについて話し合っています。Address Validation Service を使用している場合にも、この問題が発生しています。
興味がありますが、他の人は 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;