本题要求对单号进行格式与校验位核验,并在必要时修复。单号规则为:前 8 位由“2 位大写字母 + 6 位数字”组成,第 9 位为校验位。校验位的计算算法为:对前 8 位每个字符取 ASCII 码求和,结果对 26 取余,再加上 A 的 ASCII 码,得到的大写字母即为校验位。
核心步骤(字符串处理与取模运算):
Invalid。[A-Z]{2}\d{6}。若不满足,返回 Invalid。多多在快递公司负责快递单号录入工作,这些单号有严格的格式要求:
1.快递单号由 3 部分组成:2 位大写字母 (A~Z) +6 位数字 +1 位校验位
2.校验位计算规则:取前 8 位( 2 字母+ 6 数字)中每个字符的 ASCII 码之和,对 26 余后,加上 A 的 ASCII 码,得到的字符即为校验位
现在有一批可能存在校验位错误的单号,请你编写程序: