我有一个需要在字母表中查找字母索引的情况。在Python中,我可以使用string.ascii_lowercase
或string.ascii_uppercase
。在Java中有类似的东西吗?
显然,我可以这样做:
private static char[] alphabet = "abcdefghijklmnopqrstuvwxyz".toCharArray();
但是经过这么多Python的学习,我开始怀疑是否有相关内置功能。
我有一个需要在字母表中查找字母索引的情况。在Python中,我可以使用string.ascii_lowercase
或string.ascii_uppercase
。在Java中有类似的东西吗?
显然,我可以这样做:
private static char[] alphabet = "abcdefghijklmnopqrstuvwxyz".toCharArray();
你可以像这样获得索引:
char lowercaseLetter = ...
int index = lowercaseLetter - 'a';
虽然我更喜欢ColinD的方法,但我想提一下Java实际上有一些相关的API。它允许您解析数字,其基数高达36,其中使用了10个数字'0'-'9'
和字母'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
静态方法实现。