字符串到整数映射

时间:2013-10-03 02:27:30

标签: java algorithm

是否有任何人有算法或逻辑将A转换为1,B转换为2,...,Z转换为26,然后AA转换为27,AB转换为28,依此类推但BUT BA或cb或cbe或任何字符串有降序的字母不应该编号为例如:BB应该是53,因为BA没有编号。这个问题与Convert A to 1 B to 2 ... Z to 26 and then AA to 27 AB to 28 (column indexes to column references in Excel)非常相似,但如上所述略有不同

2 个答案:

答案 0 :(得分:0)

假设您在单元格A1中的第一个字符和单元格B1中的第二个字符,以下公式应该可以帮助您计算值

=IF(ISBLANK(A1),0,CODE(A1)-CODE("A")+1)*26+(CODE(B1)-CODE("A")+1)

仅对于A到Z,A1为空白并将单个字符放在B1中。

答案 1 :(得分:0)

我假设你想要有限量的映射

  1. 根据需要生成所需的所有映射

    A, B, C, ... , Z, AA, AB, ... ,AZ, BA, BB, ..., BZ

  2. 使用非降序字母过滤映射

    A, B, C, ... , AA, AB, ... ,AZ, BB, ..., BZ(BA消失了!)

    要检查字符串是否为非降序,只需将其与其排序版本进行比较。

  3. 枚举!