我有一種情況,我需要在字母表中找到字母的索引。在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