可以通过将输入字符串转换为数字,对数字进行加1操作,再将结果转换回字符串的方式来实现。对于字母的部分,可以先转换为ASCII码,加1后再将结果转换回对应的字母。
以下是示例代码:
def next_value(input_str):
num_part = int(input_str[:-1], 36)
alpha_part = ord(input_str[-1])
if alpha_part == 57: # '9'的ASCII码为57
alpha_part = 65 # 'A'的ASCII码为65
elif alpha_part == 90: # 'Z'的ASCII码为90
alpha_part = 48 # '0'的ASCII码为48
num_part += 1
else:
alpha_part += 1
return '{0}{1}'.format(str(np.base_repr(num_part, 36)).zfill(len(input_str)-1), chr(alpha_part))
示例输入输出:
>>> next_value('45A7')
'45A8'
>>> next_value('45A9')
'45AA'
>>> next_value('45AZ')
'45B0'
>>> next_value('ZZZ9')
'10000'