我有一种情况,我需要在字母表中找到字母的索引。在Python中,我可以使用string.ascii_lowercase
或string.ascii_uppercase
。 Java中有类似的东西吗?Java中的字母常量?
很显然,我可以这样做:
private static char[] alphabet = "abcdefghijklmnopqrstuvwxyz".toCharArray();
但这么多的Python后,这让我不知道这是建在什么地方。
我有一种情况,我需要在字母表中找到字母的索引。在Python中,我可以使用string.ascii_lowercase
或string.ascii_uppercase
。 Java中有类似的东西吗?Java中的字母常量?
很显然,我可以这样做:
private static char[] alphabet = "abcdefghijklmnopqrstuvwxyz".toCharArray();
但这么多的Python后,这让我不知道这是建在什么地方。
你可以得到这样的指标:
char lowercaseLetter = ...
int index = lowercaseLetter - 'a';
好主意。我没有想到这一点。 – 2011-06-01 18:18:03
虽然我宁愿ColinD的做法,只要它符合我只想提的是Java的实际上有某种这个API的。它允许您分析最多36个基数的数字,其中使用来自'0'-'9'
的10个数字和字母'a'-'z'
作为范围的其余部分(无论是哪种情况)。
char letter = ...
int index = Character.digit(letter, 36) - 10;
和背部
int index = ...
char ch = Character.forDigit(index + 10, 36);
如果你真的想使用它来创建或解析芩36号,您可以使用采取基数参数Integer.parseInt
和Integer.toString
静态方法实现。
绝对有趣。 – 2011-06-01 19:19:20
哪个字母?说英语的人在发现非英文字母时经常会感到惊讶。 – 2011-06-01 18:34:45
我实际上并没有将它用作字母表,我只是在第26位(这恰好是拉丁字母)有一些“数字”。 – 2011-06-01 18:37:43